mybatis 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="jdbc.properties">
</properties>
<settings>
<!-- cacheEnabled:全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存 默认为:true -->
<setting name="cacheEnabled" value="true"/>
<!-- lazyLoadingEnabled:延迟加载的全局开关。
true:所有关联对象都会延迟加载。特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态 默认为:false -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- aggressiveLazyLoading: 默认:false
true:任何方法的调用都会加载该对象的所有属性,false:每个属性会按需加载 -->
<!-- <setting name="aggressiveLazyLoading" vlaue="false"> -->
<!-- multipleResultSetsEnabled:是否允许单一语句返回多结果集 默认:true -->
<setting name="multipleResultSetsEnabled" value="true"/>
<!-- useColumnLabel:使用列标签代替列名 -->
<setting name="useColumnLabel" value="true"/>
<!-- useGeneratedKeys:是否允许JDBC支持自动生成主键, 默认:false
true:设置强制使用自动生成主键-->
<setting name="useGeneratedKeys" value="false"/>
<!-- autoMappingBehavior: 指定 MyBatis 应如何自动映射列到字段或属性。
NONE 表示取消自动映射,
PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集,
FULL 会自动映射任意复杂的结果集(无论是否嵌套)。-->
<setting name="autoMappingBehavior" value="PARTIAL"/>
<!-- autoMappingUnknownColumnBehavior:指定发现自动映射目标未知列(或者未知属性类型)
NONE: 不做任何反应
WARNING: 输出提醒日志 ('org.apache.ibatis.session.AutoMappingUnknownColumnBehavior' 的日志等级必须设置为 WARN)
FAILING: 映射失败 (抛出 SqlSessionException) -->
<setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
<!-- defaultExecutorType:配置默认的执行器。
SIMPLE 就是普通的执行器;
REUSE 执行器会重用预处理语句(prepared statements);
BATCH 执行器将重用语句并执行批量更新。 -->
<setting name="defaultExecutorType" value="SIMPLE"/>
<!-- defaultStatementTimeout:设置超时时间,它决定驱动等待数据库响应的秒数 (任意整数)-->
<setting name="defaultStatementTimeout" value="25"/>
<!-- defaultFetchSize:为结果集获取数量设置一个提示值。此参数只可以在查询设置中被覆盖。-->
<setting name="defaultFetchSize" value="100"/>
<!-- safeRowBoundsEnabled:允许在嵌套语句中使用分页(RowBounds)
false:允许使用,true:禁止使用-->
<setting name="safeRowBoundsEnabled" value="false"/>
<!-- mapUnderscoreToCamelCase:是否开启自动驼峰命名规则映射-->
<setting name="mapUnderscoreToCamelCase" value="false"/>
<!-- localCacheScope:MyBatis 利用本地缓存机制防止循环引用和加速重复嵌套查询。
默认值为:SESSION,缓存一个会话中执行的所有查询。
STATEMENT,本地会话仅用在语句执行上,对相同 SqlSession 的不同调用将不会共享数据。-->
<setting name="localCacheScope" value="SESSION"/>
<!-- jdbcTypeForNull:当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。比如 NULL、VARCHAR 或 OTHER。-->
<setting name="jdbcTypeForNull" value="OTHER"/>
<!-- lazyLoadTriggerMethods:指定哪个对象的方法触发一次延迟加载。-->
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
<setting name="logImpl" value="LOG4J" />
</settings>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="UNPOOLED">
<property name="url" value="${url}"/>
<property name="driver" value="${driver}"/>
<property name="username" value="${username}"/>
<!-- 可以通过${} 引用properties里规定的属性值-->
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--要写文件目录间要斜杠分开-->
<!-- <mapper resource="com.win_Yi.mapper/GirlMapper.xml"></mapper>-->
<package name="com.win_Yi.mapper"/>
</mappers>
</configuration>
mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="com.win_Yi.mapper.GirlMapper">
<insert id="insert">
insert into girl (name,flower,birthday) values (#{name},#{flower},#{birthday})
</insert>
</mapper>
jdbc.properties
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
username=ddd
password=ssss
driver=com.mysql.cj.jdbc.Driver