mybatis框架
1.简介:mybatis是支持sql查询,存储过程(https://baike.baidu.com/item/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1240317?fr=aladdin)和高级映射(https://blog.csdn.net/liweizhong193516/article/details/53688995?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2)的优秀持久层框架。使用xml配置编写sql语句,将java代码和sql语句分离,避免像jdbc一样硬编码,sql的拼接也变得简便,支持自定义sql语句。
2.主配置文件的编写:
<?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">
<!--dtd约束文档,用来约束当前xml文档能够使用的标签和属性 -->
<configuration>
<!--配置mybatis使用的数据库环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!--表示mybatis管理事务的方式,依赖于jdbc管理事务 -->
<!--数据源配置 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value=" "/>
<property name="password" value=" "/>
</dataSource>
</environment>
</environments>
<!--加载映射配置文件 -->
<mappers>
<mapper resource="com/offcn/mapper/*.xml"/>
</mappers> </configuration>
3.映射配置文件的配置
<?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:表示命名空间,如果要使用接口代理的方式操作数据库,
必须保证接口的全限定名称和namesapce一致
必须保证接口方法名称和sql语句id值一致 -->
<mapper namespace="对应的接口全类名">
<select id="findPersonByPid" resultType="对应返回的实体全类名">
sql查询语句
</select>
...
</mapper>
4.使用mybatis提供的API(应用程序接口)操作数据库
//加载主配置文件
InputStream inputStream = Resources.getResourceAsStream("主配置文件名.xml");
//构建SqlSessionFactory
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取sqlsession
SqlSession sqlSession = sessionFactory.openSession();
PersonMapper personMapper = sqlSession.getMapper(接口.class);
Person person = personMapper.方法名;
//提交事务
sqlSession.commit();
//关闭session
sqlSession.close();