目录
创建maven项目,添加mybatis,mysql依赖的jar包
创建mybatis全局配置文件,配置数据库连接信息,配置sql映射文件
创建sql映射文件
创建一个访问接口
测试
mybatis原是apache的一个开源项目,2010年转投谷歌,从ibtais3.0开始改名为mybatis,是一个优秀的数据持久层框.对jdbc进行轻量级的封装.提供一些自己定义的类和接口来实现功能.提供专门xml文件来进行配置,以及可以自动的对查询结果进行封装。
创建maven项目,添加mybatis,mysql依赖的jar包
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>
创建mybatis全局配置文件,配置数据库连接信息,配置sql映射文件
在resources中创建一个mybatis.xml的文件,进行配置信息初始化
<?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.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ssm_db?serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/AdminMapper.xml"/>
</mappers>
</configuration>
<transactionManager type="JDBC"/> 事务管理池
<dataSource type="POOLED"> <!--是否使用数据库连接池-->
创建sql映射文件
定义一个与接口方法名相同的查询语句,以查询学生信息为例
<mapper namespace="com.mybatispro.dao.AdminDao">
<select id="findAdminById" resultType="com.ffye.mybatispro.model.Admin" parameterType="int">
select * from admin where id = #{id}
</select>
</mapper>
创建一个访问接口
定义一个方法
public interface AdminDao {
public Admin findAdminById(int id);
}
测试
public class TestAdmin {
public static void main(String[] args) throws IOException {
/*
读取mybatis核心配置文件
*/
Reader reader = Resources.getResourceAsReader("mybatis.xml");
/*
创建SqlSessionFactory
*/
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建sqlsession
SqlSession sqlSession = sessionFactory.openSession();
//创建访问接口的代理对象
AdminDao adminDao = sqlSession.getMapper(AdminDao.class);
//使用代理对象访问接口中对应的方法,本质是调用的是接口对应的sql映射文件中的那个sql
Admin admin = adminDao.findAdminById(1);
System.out.println(admin);
}
}