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>
<environments default="development">
<environment id="development">
<!--事务管理器-->
<transactionManager type="JDBC"/>
<!--数据源-->
<dataSource type="POOLED">
<!--旧版mysql应使用com.mysql.jdbc.Driver-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--useSSL=true 使用安全连接-->
<!--& 转义 &-->
<!--useUnicode=true 防止编码错误-->
<!--characterEncoding=UTF-8 防止中文乱码-->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--mapper-->
<mappers>
<mapper resource="com/jiu/mapper/PersonMapper.xml"/>
</mappers>
</configuration>
mapper.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">
<!--namespace 与哪个接口对应-->
<mapper namespace="com.jiu.mapper.PersonMapper">
<!--配置-->
<!--id 接口对应的方法-->
<!--parameterType 方法入参类别 [可简写]-->
<!--useGeneratedKeys 可理解成是否有返回值-->
<!--keyProperty 返回值(主键)类别为-->
<!--注: 返回值不是指方法中返回的值,而是执行后自动在(添加/更新)对象里被赋值-->
<!--#{?} 入参类别中的属性-->
<insert id="addPerson" parameterType="com.jiu.entity.Person" useGeneratedKeys="true" keyProperty="id">
insert into `person` VALUES (null,#{age},#{birthday},#{email},#{gender},#{name},#{salary});
</insert>
</mapper>
相关Mybatis知识点(水文):
- Mybatis是一款优秀的持久层框架。
- 它支持定制化SQL、存储过程以及高级映射。
- Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。
- Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Object,普通老式Java对象)为数据库中的记录。
- Mybatis本是Apache的一个开源项目Ibatis,2010年这个项目由Apache software foundation迁移到了Google Code,并改名为Mybatis。
- 2013年11月迁移到Github。
优点:
- MyBatis 是免费且开源的。
- 与 JDBC 相比,减少了 50% 以上的代码量。
- MyBatis 是最简单的持久化框架,小巧并且简单易学。
- MyBatis 相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 中,和程序逻辑代码分离,降低耦合度,便于同一管理和优化,提高了代码的可重用性。
- 提供 XML 标签,支持编写动态 SQL 语句。
- 提供映射标签,支持对象与数据库的 ORM 字段关系映射。
- 支持存储过程。MyBatis 以存储过程的形式封装 SQL,可以将业务逻辑保留在数据库之外,增强应用程序的可移植性、更易于部署和测试。
缺点:
- 编写 SQL 语句工作量较大,对开发人员编写 SQL 语句的功底有一定要求。
- SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。
---仅供个人记载
---2022-08-08