星星博客 »  > 

SSM之MyBatis_01_02全局配置文件和映射文件配置

系列文章目录

文章目录

  • 系列文章目录
  • 全局配置文件和映射文件配置
  • 总结
    • 注意

全局配置文件和映射文件配置

接上一篇文章,我们搭建好环境之后就要开始用了
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&amp;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会简单一些,当然也可以单独学习,都行

相关文章