Mybatis搭建流程
1、引pom
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
2、写配置
<?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">
<configuration>
<!--环境配置,连接的数据库,这里使用的是MySQL-->
<environments default="mysql">
<environment id="mysql">
<!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
<transactionManager type="JDBC"></transactionManager>
<!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
<!-- ?serverTimezone=UTC & ampcharacterEncoding=utf-8-->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_analysis?serverTimezone=UTC & ampcharacterEncoding=utf-8"></property>
<property name="username" value="root"></property>
<property name="password" value="123456rw"></property>
</dataSource>
</environment>
</environments>
<!--这是告诉Mybatis区哪找持久化类的映射文件,对于在src下的文件直接写文件名, 如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml-->
<mappers>
<mapper resource="mapper/UserMapper.xml"></mapper>
</mappers>
<!-- 两种方式去配置Mapper-->
</configuration>
3、建实体类
package com.mybatis.entity;
public class User {
private Integer id;
private String username;
private String password;
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
4、建立Mapper和对应的XML
package com.mybatis.mapper;
import com.mybatis.entity.User;
import java.util.List;
public interface UserMapper {
List<User> selectAllUser();
}
XML
<?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.mybatis.mapper.UserMapper">
<select id="selectAllUser" resultType="com.mybatis.entity.User">
select * from user
</select>
</mapper>
5、测试类
package com.mybatis;
import com.mybatis.entity.User;
import com.mybatis.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
public class Test {
public static void main(String[] args) {
try {
//1、定义Mybatis文件
String resource = "mybatis_config.xml";
//2、IO操作 使用java的api读取配置文件获取InputStreamReader
Reader resourceAsReader = Resources.getResourceAsReader(resource);
//3、获取SQLSessionFactoryBuilder
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
//4、通过获取SQLSessionFactoryBuilder获取session
SqlSession sqlSession = sqlSessionFactory.openSession();
//5、通过SqlSession去操作Mapper
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//6、执行SQL语句
List<User> users = mapper.selectAllUser();
for (User user : users) {
System.out.println(user.toString());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}