mybatis框架中的 mybatis-config-xml 核心配置文件 以及mapper.xml映射配置文件
程序员文章站
2022-04-22 10:41:43
...
mybatis框架中的 mybatis-config-xml 核心配置文件 以及mapper.xml映射配置文件
文件头:组件<-configration><-/configration>
<?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">
引用外部的属性文件(jdbc.properties)
<!--引用外部的属性文件-->
<properties resource="jdbc.properties">
<!-- <property name="username" value="root"/>-->
</properties>
全局信息设置
<!-- 全局信息设置 mapUnderscoreToCamelCase特定格式转换a_bc==aBc-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
类型命名
<typeAliases>
<!-- 给具体的实体类取别名-->
<typeAlias alias="user" type="com.atguigu.pojo.User"></typeAlias>
<!-- 注册包名-->
<package name="com.atguigu.pojo"/>
</typeAliases>
环境配置
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis0621"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
注册映射文件(单次注册 & 批量注册 注:二者只能写一个,否则会报错)
<mappers>
<!--单次注册:该包下的单个映射文件及绑定的接口会被注册-->
<!-- <mapper resource="com/atguigu/mapper/UserMapper.xml"/>-->
<mapper class="com.atguigu.mapper.UserMapper"></mapper>
<!-- 批量注册:该包下所有映射文件及绑定的接口都会被注册-->
<package name="cmo.atguigu.pojo"/>
</mappers>
mapper.xml映射配置文件
文件头<-mapper><-/mapper>组件
<?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.atguigu.mapper.UserMapper">
增删改语句 parameterType
!–
所有的增删改标签没有resultType属性(默认返回值是int受影响的行数)
parameterType :参数类型 [可选的]
参数是pojo #{属性名字}
–>
<delete id="delUserById" parameterType="int">
delete from users where id=#{user}
</delete>
<update id="updateUser" parameterType="user">
update users set last_name=#{lastName},sex=#{sex} where id=#{id}
</update>
========================
<!-- public int addUser(User user);
获取最新的id值: 最后添加成功的用户id
useGeneratedKeys:使用数据库id生成策略
keyProperty: 将最新的id值赋值给当前的属性id
useGeneratedKeys="true" keyProperty="id" 是insert标签中的属性
selectKey标签: order属性 执行顺序 after 是添加语句执行之后执行
keyProperty :pojo属性名字
resultType: select last_insert_id() 返回值
-
=========================
<insert id="addUser" parameterType="user">
<selectKey order="AFTER" keyProperty="id" resultType="java.lang.Integer">
select last_insert_id()
</selectKey>
insert into users values(null,#{lastName},#{sex})
</insert>
查询语句 有resultType
<select resultType="user" id="getUserById">
select id ,last_name lastName,sex from users where id = #{id}
</select>
<select id="listUsers" resultType="user">
select * from users
</select>
下一篇: android开发首页基本框架搭建