MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。今天教大家如何基础入门
首先,要向项目导入相应的jar包,其中包括mybatis、mysql-connector-java、junit、log4j。
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
其中mybatis和connector是核心jar包、log4j和junit分别是日志输出和测试单元jar包
然后在项目默认目录下创建java包以及resources包,分别存放java代码以及资源配置文件
然后我们需要喂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>标签,并在其中配置mybatis所需要的数据库连接环境
<?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="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
</dataSource>
</environment>
</environments>
</configuration>
在 environments标签里面配置数据库连接环境 后跟一个default属性,意思是默认选择哪套环境(mybatis可以选择多套环境)
标签 | 意思 |
environments | 配置环境 id属性让mybatis选择哪套配置 |
transactionManager | 选择以什么方式来连接数据库 |
dataSource | 配置数据库连接信息 |
其中dataSource要配置数据库的连接地址用户等
然后我们要在resources包下创建mapperb包,
在里面创建userMapper.xml,、mybatis的mapper文件一般用来写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">
<mapper namespace="com.sy.mapper/userMapper.xml">
<select id="selectAllUser" resultType="com.sy.pojo.User">
select * from smbms_user
</select>
</mapper>
其中要写位置索引id和返回值类型们这里我们返回User类
然后我们在mybatis0config.xml文件里面添加配置
<mappers>
<mapper resource="com.sy.mapper/userMapper.xml"/>
</mappers>
这样mybatis的配置基本完成,最终展示
mybatis0config.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>
<properties resource="db.properties"></properties>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com.sy.mapper/userMapper.xml"/>
</mappers>
</configuration>
userMapperxml
<?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.sy.mapper/userMapper.xml">
<select id="selectAllUser" resultType="com.sy.pojo.User">
select * from smbms_user
</select>
</mapper>
然后我们在java包中创建pojo中的User类来存储数据
然后创建测试类进行查询
@org.junit.Test
public void test2() throws IOException {
// 读取配置文件mybatis-config.xml
InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
// 根据配置文件构建SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);
// 通过SqlSessionFactory创建SqlSession
SqlSession ss = ssf.openSession();
// SqlSession执行文件中定义的SQL,并返回映射结果
// 查询所有用户
List<User> objects = ss.selectList("selectAllUser");
System.out.println(objects);
// 提交事务
ss.commit();
// 关闭 SqlSession
ss.close();
}
成功!