1、首先使用IDEA 创建一个spring boot 2 web 项目,添加web、 mybatis 依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
2、在resources目录下创建一个 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="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/docker-mybatis-demo"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
注意:${driver}驱动在8.0版本下为:com.mysql.cj.jdbc.Driver
3、在docker 安装一个mysql:latest 版本数据,创建一个简单User
表就两个字段,如下所示:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'zhangshan');
INSERT INTO `user` VALUES ('2', '李四');
4、在resources目录下创建一个目录mappers,下面自定义个一个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">
<mapper namespace="com.example.demomybatis.mapper.UserMapper">
<select id="selectById" resultType="com.example.demomybatis.entity.User">
select * from user where id = #{id}
</select>
</mapper>
5、在java目录下 创建包com.example.demomybatis.mapper,创建一个UserMapper接口,示例如下:
public interface UserMapper {
User selectById(User user);
}
6、在java目录下 创建包com.example.demomybatis.entity,创建一个User类,示例如下:
public class User implements Serializable {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
7、写测试类 ,在test目录下创建一个MybatisTest 类如下所示
//spring boot 项目测试类必须加的注解
@RunWith(SpringRunner.class)
public class MybatisTest {
//添加测试注解
@Test
//自定义一个方法
public void contextLoads() {
try {
// 定义自己的mybatis配置文件
String resource = "mybatis-config.xml";
//加载配置文件到InputStream中
InputStream inputStream = getResourceAsStream(resource);
// 创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取SqlSession
SqlSession session = sqlSessionFactory.openSession();
//获取Mapper
UserMapper userMapper = session.getMapper(UserMapper.class);
//创建一个对象,set 一个值
User user = new User();
user.setId(1);
//通过查询 传入一个对象接受,查询id等于1 的 数据
User user1 = userMapper.selectById(user);
//打印一下
System.out.println("id:" + user1.getId() + "名字:" + user1.getName());
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试类写好了 点击测试一下,如下所示 表示 成功
扫描二维码关注公众号,回复:
13135269 查看本文章

sql语句打印出来了,对应的数据值 也有了
想知道mybatis 深层的 请去官网看文档,地址如下: