资源:https://gitee.com/axinawang/study_mybatis.git

参考:黑马程序员58期

一、搭建 Mybatis 开发环境

1.创建 maven 工程 ,创建数据库和表,添加日志属性文件

创建 mybatis01 的工程,工程信息如下:
Groupid:cn.oesoft
ArtifactId:mybatis01
Packing:jar
数据库和表的sql文件在上面的资源中
由于MyBatis默认使用log4j输出日志信息,所以如果要查看控制台的输出SQL语句,那么就需要在classpath路径下配置其日志文件
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

2.添加 Mybatis3.4.5 的坐标

在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下:
    <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version><scope>runtime</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope></dependency></dependencies>

3.编写 User 实体类

/*** @ClassName: User* @Author: linxin* @Date: 2021/6/7 15:29* @Company: http://www.oesoft.cn* @Description: 用户的实体类*/
@Data
public class User {private Integer id;private String username;private Date birthday;private String sex;private String address;}

4.编写持久层接口 IUserDao

/*** @ClassName: IUserDao* @Author: linxin* @Date: 2021/6/7 15:36* @Company: http://www.oesoft.cn* @Description: IUserDao 接口就是我们的持久层接口(也可以写成 UserDao 或者 UserMapper)*/
public interface IUserDao {/*** @description: 查询所有用户* @date: 2021/6/7 15:37 */List<User> findAll();
}

5.编写持久层接口的映射文件 IUserDao.xml

要求:
       创建位置:必须和持久层接口在相同的包中。
       名称:必须以持久层接口名称命名文件名,扩展名是.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.oesoft.mybatis01.dao.IUserDao"><!--配置查询所有操作--><select id="findAll" resultType="cn.oesoft.mybatis01.domain.User">select * from user</select>
</mapper>

6.编写 SqlMapConfig.xml 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis的主配置文件 -->
<configuration><!-- 配置环境 --><environments default="mysql"><!-- 配置mysql的环境--><environment id="mysql"><!-- 配置事务的类型--><transactionManager type="JDBC"></transactionManager><!-- 配置数据源(连接池) --><dataSource type="POOLED"><!-- 配置连接数据库的4个基本信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 --><mappers><mapper resource="cn/oesoft/mybatis01/dao/IUserDao.xml"/></mappers>
</configuration>

7.编写测试类

/*** @ClassName: UserDaoTest* @Author: linxin* @Date: 2021/6/7 16:10* @Company: http://www.oesoft.cn* @Description: TODO*/
public class UserDaoTest {@Testpublic void findAllTest() throws Exception{//1.读取配置文件InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");// 2.创建SqlSessionFactory的构建者对象SqlSessionFactoryBuilder builder= new SqlSessionFactoryBuilder();//3.使用构建者创建工厂对象SqlSessionFactorySqlSessionFactory factory= builder.build(in);// 4.使用SqlSessionFactory生产SqlSession对象SqlSession session= factory.openSession();// 5.使用SqlSession创建dao接口的代理对象IUserDao userDao= session.getMapper(IUserDao.class);//6.使用代理对象执行查询所有方法List<User> users= userDao.findAll();for(User user: users) {System.out.println(user);}//7.释放资源session.close();in.close();}
}

8.基于注解的 mybatis 使用

a.修改 SqlMapConfig.xml

删除
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 --><mappers><mapper resource="cn/oesoft/mybatis01/dao/IUserDao.xml"/></mappers>
添加
<!-- 告知 mybatis 映射配置的位置 --><mappers><mapper class="cn.oesoft.mybatis01.dao.IUserDao"/></mappers>
​

b.删除映射文件IUserDao.xml

c.在持久层接口中添加注解

public interface IUserDao {/*** @description: 查询所有用户* @date: 2021/6/7 15:37 */@Select("select * from user")List<User> findAll();
}

1-Mybatis入门案例相关推荐

  1. MyBatis-学习笔记02【02.Mybatis入门案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  2. MyBatis由浅入深学习总结之一:MyBatis入门案例

    一.MyBatis简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  3. mybatis入门案例

    pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

  4. Mybatis入门 使用XML

    1.项目结构 2.详细代码 数据库: 1.创建实体类bean package com.itheima.domain;import java.io.Serializable; import java.u ...

  5. Mybatis的案例和接口代理开发和模板配置

    Mybatis的简单入门案例 一.框架的简介和Mybatis简介 ​ 框架就是一个半成品,在框架的基础上进行开发可以大大的提高开发效率,减少代码量. ​ 框架就相当于地基,使用框架开发就相当于在地基上 ...

  6. mybatis基于注解的入门案例

    mybatis基于注解的入门案例:             把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句             同时需要在SqlMa ...

  7. Mybatis学习IDEA(1)-环境搭建以及入门案例

    Mybatis的环境搭建: 第一步:创建Maven项目 new Project->Maven->next->GroupId(反写域名如:com.itheima)ArtifactID( ...

  8. MyBatis Plus简介和入门案例

    简介 MyBatis-Plus(以下简称MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有 ...

  9. (spingboot入门案例)SpingBoot整合mybatis(mySql)

    仅供参考 目录结构: 环境: idea,mysql(8.0.29) 1.新建项目 1. 2.Project SDK选择自己对应的java版本 url选第二个,使用阿里的镜像:http://start. ...

  10. idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例

    上一篇文章已经搭建好了SSM的框架,并且启动成功,今天来编写一下入门案例. 文章的主要内容: 1.hello world的编写 2.引入log4j,在控制台打印sql 3.增删改查的编写 一.在mys ...

最新文章

  1. 自定义UISearchBar外观
  2. 谷歌利用人工智能设计的芯片揭示了智能的本质
  3. 笔记-信息化与系统集成技术-人工智能基础知识
  4. SQL2005结合ROW_NUMBER()高效分页存储过程
  5. 解读Tom介绍的Oracle Database 12c的12个新特性
  6. OutLook 2010 (Bata) 中的邮件导出功能
  7. WPF中的命令与命令绑定(二)
  8. css border-image 图片边框
  9. 计算机u盘设备无法启动不了怎么办,U盘无法弹出说正在占用怎么办?Windows无法停止设备解决方法...
  10. Python中的缩进(unindent)问题
  11. 实现工地实名制门禁管理的人脸识别系统
  12. 善于总结、不断反思做更好的自己
  13. 什么是Debian?
  14. BigDecimal运算和比较大小
  15. 社会保险费的缴费基数与缴费比例
  16. PIE-SDK V5.2 For .NET(3)——常用相关命令接口
  17. pb文件转java 报:protoc did not exit cleanly. Review output for more information
  18. 济南大学计算机系录取分数线,2019年济南大学录取分数线是多少
  19. 科大讯飞语音识别和语音合成//////2020-08-17
  20. win10 程序员计算器按钮介绍

热门文章

  1. 【Elasticsearch】ElasticSearch 7.8 多字段权重排序
  2. 【hortonworks/registry】registry 如何创建 互相依赖的 schema
  3. 大数据面试-04-大数据工程师面试题
  4. spark学习-52-Spark的org.apache.spark.SparkException: Task not serializable
  5. 24小时删!看完这17个超牛逼大数据视频让你妥妥进大厂!(限时领)
  6. Oracle数据库的增删改操作介绍
  7. c程序设计停车场收费管理系统_智能车牌识别停车收费管理系统
  8. linux中create命令详解,linux中 pmap 命令详解
  9. ubuntu无法定位软件包问题
  10. 关于maven打包成.exe