1、db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8
username=root
password=root
2、xml中
在xml中引用db.properties
在xml中所有的标签都有插入顺序
3、mybatis中的别名
<typeAliases>
<typeAlias type="User" alias="com.lin.pojo.User"></typeAlias>
</typeAliases>
也可以指定一个包名,mybatis会扫描实体类的包,它的默认的别名就为这个类的类名,首字母小写!
4、注意
在使用class映射的时候
usermapper和user mapper.xml要在同一文件下。
5、作用域
sqlsessionFactoryBuilder:
一旦创建了sqlsessionFactory,就不在需要它了,局部变量。
sqlsession:
可以想象成一个连接池,sqlsessionFactory一但被创建在应用运行期间就一直存在,没有任何理由丢弃它或创建一个新的是咧。
所有sqlsessionFactory的作用域是应用作用域,最简单的例子就是单例模式。
sqlsession:
连接到连接池的一个请求,sqlsession的实列不是线程安全的,因此不可以共享,所以它的最佳的作用域是请求或方法作用域。用完之后需要马上关闭。
5、属性名和字段名不一致
解决方法:1、起别名2、结果集映射
<resultMap id="Uermap" type="user">
<!--column是数据库中的字段名,property是实体的属性名-->
<result column="id" property="id"></result>
</resultMap>
<select id="getUserList" resultMap="Usermap">
SELECT * from mybatis.user where id=#{
id}
</select>
6、日志工厂(在mybatis中配置日志)
<settings>
<setting name="logLmpI" value="STDOUT_LOGGING"/>
</settings>
```可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING,或者是实现了 org.apache.ibatis.logging.Log 接口,且构造方法以字符串为参数的类完全限定名。
!