如何使用Mybatis?
1.新建一个maven项目,在项目依赖中引入mybatis依赖
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.13</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
2.在main目录下的java文件夹中创建一个mapper文件夹与model文件夹
model文件夹用于存放实体类,mapper用来存放实体类对应的mapper接口(相当于javaweb中的dao层)
UserMapper.java
public interface UserMapper {
List<User> getUsers();
}
User.java
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
private int id;
private String username;
private Date birthday;
private String sex;
private String address;
}
3.在resources文件夹中创建配置文件与mapper映射配置文件
mybatis-config.xml
注意在resources目录下创建的是文件夹不是包,idea不会自动分包,例如创建com.damumu.mapper只会在resources文件夹下生成一个名为com.damumu.mapper的文件夹
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mbt"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/damumu/mapper/UserMapper.xml"/>
<!-- 此处用于配置映射文件 resource属性的值就是映射文件的路径 -->
</mappers>
</configuration>
在mapper标签中设置的位置创建UserMapper.xml配置文件 用于映射UserMapper接口中的方法
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
配置查询所有操作
id:方法名称,和接口名称需要对应
resultType:返回值类型
-->
<mapper namespace="com.damumu.mapper.UserMapper">
<select id="getUsers" resultType="com.damumu.model.User" >
select * from user
</select>
</mapper>
注意:目前没有设置别名,我们只能在resultType中设置全路径类名
4.在test下创建一个测试类
public class test1 {
SqlSession sqlSession;
UserMapper userMapper;
InputStream inputStream;
@Before//在test注解执行之前执行
public void init() throws Exception{
//读取mybatis配置文件
inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//创建一个SqlSession工厂构建器
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//创建一个SqlSession工厂
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
//获取sqlSession并且将自动提交设为true
sqlSession = sqlSessionFactory.openSession(true);
//获取UserMapper接口的代理对象
userMapper = sqlSession.getMapper(UserMapper.class);
}
@Test
public void demo() throws Exception{
List<User> users = userMapper.getUsers();
for (User user:users){
System.out.println(user);
}
}
@After
public void over() throws IOException {
sqlSession.close();
inputStream.close();
}
}
成功输出数据库中的数据就完成了一次最基础的mybatis的使用