发表于: 2017-11-08 08:46:55
1 690
今天学习的内容:暂时不知这个有何用处,貌似与html声明和IDE在编写xml文档时的代码提示有关
mybatis主配置文件SqlMapConfig.xml的编写:
首先是
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
然后是标签:声明标签内的内容为配置文件 第二个标签声明数据库连接信息的数据源即db.properties
<configuration>
<properties resource="db.properties"/>
<typeAliases>标签声明的是别名,也可以使用package name来直接扫描包,表示导入该包下的所有pojo类,声明后在映射文件中的pojo类参数传递和返回类型就可以直接写类名
<typeAliases>
<package name="包名">
<typeAliases>
声明开发环境和开发id,和spring整合后该标签失效
<environments default="development">
<environment id="development">
声明事务管理为jdbc,使用jdbc来提交和回滚事务
<transactionManager type="jdbc"/>
声明数据源:数据源有三种类型UNPOOLED、POOLED、JNDI
UNPOOLED:mybatis会在每次使用数据库的时候创建一个连接,使用完成后关闭它,适合小规模数据并发程序
POOLED:mybatis会创建一个数据库连接池,使用时从连接池借用,使用完后归还。开发测试时候常用
JNDI:mybatis从应用服务器向配置好的数据源获取连接。
<dataSource type="POOLED">
配置数据库连接的信息
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
mapper标签:声明DAO接口和映射文件来源,mybatis会自动扫描加载包下面的接口和配置文件
<mappers>
<package name="包名"/>
</mappers>
映射xml文件的配置、
开头:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
声明xml文件的唯一id,namespace就相当于id,
<mapper namespace="包名.xml文件名">
查询语句:id是这个查询语句的唯一id,mybatis会先从SqlMapConfig.xml文件找对应的映射文件,再根据namespace和id来找到SQL语句。
<select id="我是一个id" parameterType="我是传入参数类型" resultType="我是返回参数类型">
注意事项:映射文件中传入参数类型和返回参数类型如果是集合,那么参数类型都是写的集合的泛型类型。
映射文件要和接口在同一文件下并且在动态代理中,dao类和xml文件名字必须相同。
resultMap是重点。还有多表查询的一对一关系和一对多关系等等
明天计划:继续学习mybatis 了解mybatis详细的工作流程
遇到的问题:需要记得知识点比较多
收获:mybatis基本使用
评论