入门,准备工作
因为有数据库,所以一定有对象:类名和表明,属性和字段一一对应
自己理解:先向pom.xml文件中导入三个包,1.mybaits(因为需要使用)2.jdbc(需要连接数据库)3.lombok(不需要手动创建getset方法)。
mybaits—config.xml(环境配置:注册驱动,jdbc连接的url,最重要的是mybatis加载mapper映射文件mapper-resource="mappers/UserMapper.xml")和mapper.xml文件(id=j接口方法,resultType:返回pojo对象类型的全路径),因此写mapper.xml之前,一定要有接口
准备:数据库表名:jt
1. 先在pom.xml中导包
mybaits,jdbc,lombok
<!--mybatis依赖包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!--jdbc依赖包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--添加lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
2. 编辑User POJO对象
package com.jt.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@Accessors(chain=true)
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer id;
private String name;
private Integer age;
private String sex;
}
3.编辑mybaits-config.xml配置文件(resources文件下)
注意路径,映射mapper的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/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
//注意路径
<!--Mybatis加载Mapper映射文件-->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
</configuration>
?编辑UserMapper接口
package com.jt.mapper;
import com.jt.pojo.User;
import java.util.List;
public interface UserMapper {
List<User> findAll();
}
编辑接口实现类Mapper映射文件
在resourse目录下,创建mappers文件夹,在创建usermapper.xml
id:与接口方法一一对应? ??
resultType:返回的pojo对象类型全路径
<!--2.执行业务操作
id: 与接口方法一一对应.
resultType: 返回的POJO对象类型全路径
-->
<?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是mybaits映射文件的唯一标识,与接口对应-->
<mapper namespace="com.jt.mapper.UserMapper">
<!--id 表示接口方法
resultType 返回值结果类型
-->
<select id="findAll" resultType="com.jt.pojo.User">
select * from demo_user
</select>
</mapper>
<!--Mybatis加载Mapper映射文件-->
<mappers>
<mapper resource="mappers/UserMapper.xml"/>
</mappers>
从 XML 中构建 SqlSessionFactory
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
测试
@Test
public void run() throws IOException {
//1.1 指定配置文件的根目录
String resource = "mybaits-config.xml";
//1.2 通过IO流 加载配置文件 org.apache.ibatis.io;包路径
InputStream inputStream = Resources.getResourceAsStream(resource);
//1.3 实例化工厂对象
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
//2 获取SqlSession 通过sqlSession可以直接操作数据库
SqlSession sqlSession = sqlSessionFactory.openSession();
//3 获取接口对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//4.调用接口方法
List<User> userList = userMapper.findAll();
System.out.println(userList);
//5.暂时手动关闭链接
sqlSession.close();
}
|