一、初学MyBatis--通过xml配置文件
第一步:创建maven项目
1 创建 mybatis01 的工程,工程信息如下:
2 Groupid:com.itheima
3 ArtifactId:mybatis01 4 Packing:jar
第二步:在pom.xml中导入mybatis使用的依赖
<!-- 配置打包方式--> <packaging>jar</packaging> <!-- 导入mybatis依赖--> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!-- 导入mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- 导入日志--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <!-- 导入单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies>
第三步:创建实体类以及接口
实体类
1 package com.itheima.domain; 2 3 import java.io.Serializable; 4 import java.util.Date; 5 6 public class User implements Serializable { 7 private Integer id; 8 private String username; 9 private Date birthday; 10 private String sex; 11 private String address;
接口
1 package com.itheima.dao; 2 import com.itheima.domain.User; 3 import java.util.List; 4 public interface IUserDao { 5 6 List<User> findAll(); 7 8 }
第四步:在resource目录下,创建mybatis的主配置文件, SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//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"> <!-- 配置连接数据库的四个基本数据--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- 告知 mybatis 映射配置的位置 --> <mappers> <mapper resource="com/itheima/dao/IUserDao.xml"></mapper> <!--之后需要,在resource同级别的目录之下,有一个同名的配置文件--> </mappers> </configuration>
第五步:编写持久层接口的映射文件 IUserDao.xml(切记这个文件一定要在mapper配置文件地址的同级目录下)
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.itheima.dao.IUserDao"><!--配置查询所有,id:必须是dao接口的方法名;resultType:把数据封装在哪个对象中,而且要写这个对象的全地址--><select id="findAll" resultType="com.itheima.domain.User"> 10 select * from user; </select></mapper>
第六步:编写测试类
1 //1.读取配置文件 2 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); 3 //2.创建SqlSessionFactory工厂 4 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); 5 SqlSessionFactory factory = builder.build(in); 6 //3.使用工厂生产session对象 7 SqlSession session = factory.openSession(); 8 //4.使用session对象创建dao代理对象 9 IUserDao iUserDao = session.getMapper(IUserDao.class); 10 //5.使用代理对象执行方法 11 List<User> users = iUserDao.findAll(); 12 for(User user : users){ 13 System.out.println(user); 14 } 15 //6.释放资源 16 session.close(); 17 in.close();