概述
mybatis中的配置文件
1.全局配置文件
1.1 properties:读取外部资源
properties文件,以key-value形式读取,以=为分隔符
例如:
resources下创建db.properties文件:
在全局配置文件中进行加载:
<properties resource="db.properties">
<property name="userName" value="root"/>
<property name="password" value="1234"/>
</properties>
读取配置位置:
<property name="username" value="${userName}"/>
<property name="password" value="${password}"/>
如果一个属性在不只一个地方进行了配置,那么,MyBatis 将按照下面的顺序来加载:
-
首先读取在 properties 元素体内指定的属性。
-
然后根据 properties 元素中的 resource 属性读取类路径下属性文件,或根据 url 属性指定的路径读取属性文件,并覆盖之前读取过的同名属性。
-
最后读取作为方法参数传递的属性,并覆盖之前读取过的同名属性。
因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的则是 properties 元素中指定的属性。
1.2 setting:全局的参数配置
例如:
<settings>
<!--开启二级缓存-->
<setting name="cacheEnabled" value="true"/>
</settings>
1.3 typeAliases:类型别名
类型别名是给设定一个较短的名字,他是和XML配置有关,存在的意义是减少全限定名的冗余。
<typeAliases>
<!--
给单个类取别名
type属性:给定pojo类的全路径
alias属性:给定的别名 可以随便给定,一般建议是pojo类的首字母小写的类型-->
<typeAlias type="com.jing.pojo.Student" alias="student"/>
<!--批量的取别名
name属性给定的是要批量取别名的包路径
默认的别名是包下的类名首字母小写,其他不变-->
<package name="com.jing.pojo"/>
</typeAliases>
mybatis-config.xml:
studentmapper.xml:
1.4 environments:环境变量
<!--配置数据源-->
<environments default="development">
<!--环境配置,可以配置多个环境-->
<environment id="development">
<!--事务管理器 使用JDBC的事务管理器-->
<transactionManager type="JDBC"/>
<!--数据源 池类型的数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/jing"/>
<property name="username" value="${userName}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
1.5 mappers:映射器
定义的SQL语句的配置文件,需要告诉mybatis如何找到这些SQL
主要提供了三种形式:
<!--映射文件引入-->
<mappers>
<!--resource方式: 指定单个映射文件,-->
<mapper resource="mapper/studentmapper.xml"/>
<!--class方法:通过mapper的接口文件来加载单个映射文件,将mapper接口文件和mapper.xml放在同一个目录下,且名称相同-->
<mapper class="com.jing.mapper.StudentMapper"/>
<!--package方式:批量加载映射文件,将mapper接口文件和mapper.xml放在同一个目录下,且名称相同-->
<package name="com.jing.mapper"/>
</mappers>
2.mapper.xml配置文件解析
2.1 查询操作:
<!--
resultMap:显性指定映射关系
id属性:取名字
type属性:映射的Java的pojo类的全限定名
id标签:主键使用id标签,一般返回结果只有一个id标签
result标签:非主属性使用result标签进行显性指定映射关系
property属性:映射java的属性名
column属性:数据库中字段名
javaType:java属性名的类型
jdbcType:数据库字段名的类型
typeHandler:指定类型转换器
-->
<resultMap id="studentMap" type="student">
<id property="id" column="SID"/>
<result property="Sname" column="Sname"/>
<result property="Ssex" column="Ssex"/>
<result property="Sage" column="Sage"/>
</resultMap>
<!--
select标签:查询操作标签
id:statementID,一般是对应接口中方法名称,在同一个命名空间下具有唯一性,
parameterType:表示参数类型
parameterMap:表示参数类型 入参是Map类型
resultType:指定返回类型
resultMap:指定返回结果类型
#{XXX}:表示占位符 ?
-->
<select id="selectStudentById" parameterType="int" resultMap="studentMap">
select * from student where SID = #{id}
</select>
resultMap和resultType的异同点:
相同点:指定返回结果的
不同点: resultType:给定映射的java对象,完成自动映射,如果数据库字段名和java字段一致建议选用resultType
resultMap:需要显性的指定映射关系,如果数据库字段名和java字段不一致必须选用resultMap显性指定映射关系
2.2 删除操作
<!--delete标签:删除数据
id:statementID,一般是对应接口中方法名称,在同一个命名空间下具有唯一性,
parameterType:入参类型-->
<delete id="deleteStudentById" parameterType="int" >
delete from student where SID = #{id}
</delete>
2.3 插入操作
<!--insert标签:插入数据
id:statementID,一般是对应接口中方法名称,在同一个命名空间下具有唯一性,
parameterType:入参类型
useGeneratedKeys:表示是否采用数据自增主键 true|false
keyProperty:主键对应的Java类的属性名 ()
keyColumn:主键对应的数据库的字段名-->
<insert id="insertStudent" parameterType="student" keyProperty="" keyColumn="" useGeneratedKeys="true">
</insert>
2.4 变更操作
<!--update标签:变更操作
id:statementID,一般是对应接口中方法名称,在同一个命名空间下具有唯一性,
parameterType:入参类型
keyProperty:主键对应的Java类的属性名-->
<update id="updateStudent" parameterType="student">
</update>
最后
以上就是俊秀热狗为你收集整理的mybatis中常用配置文件mybatis中的配置文件1.全局配置文件2.mapper.xml配置文件解析的全部内容,希望文章能够帮你解决mybatis中常用配置文件mybatis中的配置文件1.全局配置文件2.mapper.xml配置文件解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复