MyBatis入门指南
查询user
表中所有数据
- 创建
user
表,添加数据 - 导入依赖,创建模块
- 编写
MyBatis
核心配置文件 - 编写
SQL
映射文件 - 编写代码
- 定义
P0J0
类 - 加载核心配置文件,获取
SqlSessionFactory
对象 - 获取
SqlSession
对象,执行SQL
语句 - 释放资源
- 定义
一、创建user
表
use mybatis;
drop table if exists tb_user; create table tb_user( id int primary key auto_increment, username varchar(20), password varchar(20), gender char(1), addr varchar(30)
); insert into tb_user values (1, '张三', '123', '男', '北京');
insert into tb_user values (2, '李四', '234', '女', '天津');
insert into tb_user values (3, '王五', '11', '男', '西安');
二、导入依赖
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.16</version>
</dependency>
三、编写MyBatis
配置
<!-- mybatis-config.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">
<configuration>
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!--数据库连接信息--> <property name="driver" value="org.mariadb.jdbc.Driver"/> <property name="url" value="jdbc:mariadb://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="20040927"/> </dataSource> </environment></environments>
<mappers> <!--加载SQL映射文件--> <mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
四、编写SQL映射文件
<!--UserMapper.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">
<!--namespace名称空间-->
<mapper namespace="test"> <select id="selectAll" resultType="cn.cangli.todo.pojo.User"> select * from tb_user; </select>
</mapper>
五、编写代码
public class TestUser { @Test public void testUser() throws IOException { //1.加载mybatis的核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //2.获取SqlSession对象,用他来执行Sql SqlSession sqlSession = sqlSessionFactory.openSession(); //3.执行Sql List<User> users = sqlSession.selectList("test.selectAll"); System.out.println(users); //4.释放资源 sqlSession.close(); inputStream.close(); }
}
@Mapper //标记Mapper接口
@Select("执行查询语句,返回结果")
@Insert("执行插入语句")
@Update("执行更新语句")
@Delete("执行删除语句")
基于注解的MyBatis
- 添加依赖:
mybatis
,mariadb
驱动 - 配置数据库
spring:datasource:url: jdbc:mariadb://localhost:3306/mybatisusername: rootpassword: rootdriver-class-name: org.mariadb.jdbc.Driver
- 写
Mapper
@Mapperpublic interface UserInfoMapper {@Select("select * from userinfo") //接口方法的实现List<UserInfo> getUserInfoAll();}