系列文章目录
全局配置文件和映射文件配置
接上一篇文章,我们搭建好环境之后就要开始用了
1、创建PO(model)类,根据需求创建;
PO类就是model类,只是国际上规范开发文档,写的是PO类,明白它跟model是一个意思即可
2、创建全局配置文件SqlMapConfig.xml;
注意,这是一个全局的配置文件,也是放在src下
<?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的环境信息 -->
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用dbcp连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
</configuration>
一定要注意,学习框架,在很多时候只要理解,有些东西是完全可以去文档拷贝的(包括全英文官方文档和大神整理过的都行)
如果联网也找不到dtd很可能是lib没有导入进来,自己导一下即可
导入一下就好了,不行就重新打开一下报错一下会自动编译
注意这段要加上去,防止版本不一致的时候从数据库过来的数据全部是乱码
3、编写映射文件;
映射文件直接放model里面也行,像这样也行
里面的内容特别是 Mybatis的映射文件头 直接拷贝文档就行
<?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>
</mapper>
我们配置一个最简单的查询,先试试水
namespace:命名空间,它的作用就是对SQL进行分类化管理,可以理解为SQL隔离
注意:使用mapper代理开发时,namespace有特殊且重要的作用
–
[id]:statement的id,要求在命名空间内唯一
[parameterType]:入参的java类型
[resultType]:查询出的单条结果集对应的java类型
[#{}]: 表示一个占位符?
[#{id}]:表示该占位符待接收参数的名称为id。注意:如果参数为简单类型时,#{}里面的参数名称可以是任意定义
4、加载映射文件,在SqlMapConfig.xml中进行加载;
下面就可以开始测试了……
5、编写测试程序,即编写Java代码,连接并操作数据库。
思路:
a)读取配置文件;
b)通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂。
c)通过SqlSessionFactory创建SqlSession。
d)调用SqlSession的操作数据库方法。
e)关闭SqlSession。
注意数据库不要写错,要跟自己的数据库一致
package test;
import com.gyf.model.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class Demo01 {
@Test
public void test01() throws IOException {
//a、读取配置文件
InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");
//b、通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂
SqlSessionFactory ssf=new SqlSessionFactoryBuilder().build(is);
//c、通过SqlSessionFactory创建SqlSession
SqlSession session =ssf.openSession();
//d、调用SqlSession的操作数据库的方法
User user = session.selectOne("findUserById",16);
System.out.println(user);
//e、关闭SqlSession
session.close();
}
}
总结
1、创建PO(model)类,根据需求创建;
2、创建全局配置文件SqlMapConfig.xml;
3、编写映射文件;
4、加载映射文件,在SqlMapConfig.xml中进行加载;
5、编写测试程序,即编写Java代码,连接并操作数据库。
思路:
a)读取配置文件;
b)通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂。
c)通过SqlSessionFactory创建SqlSession。
d)调用SqlSession的操作数据库方法。
e)关闭SqlSession。
注意
1、在mybatis里面就不是写hql了,而是直接写sql
2、mybatis和hibernate还是有很多相似的地方,会hibernate了之后,
再学mybatis会简单一些,当然也可以单独学习,都行