<?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>
<!-- 配置全局属性 -->
<settings>
<!-- 使用jdbc的getGeneratedKeys获取数据库自增主键值 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 使用列别名替换列名 默认:true -->
<setting name="useColumnLabel" value="true" />
<!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" />
<typeAlias alias="Long" type="java.lang.Long" />
<typeAlias alias="HashMap" type="java.util.HashMap" />
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
<typeAlias alias="ArrayList" type="java.util.ArrayList" />
<typeAlias alias="LinkedList" type="java.util.LinkedList" />
</typeAliases>
<!--以下已经在application.yml中配置过了-->
<!--
<environments default="development">
<environment id="development">
# 使用JDBC事务管理
<transactionManager type="JDBC" />
# 数据库连接池
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis "/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
-->
<!--
<typeAliases>
<package name="com.example.mybatis01.entity"/>
</typeAliases>
<mappers>
<mapper resource="mapper/*.xml"/>
</mappers>
-->
</configuration>
package com.example.mybatis01.mapper;
import com.example.mybatis01.entity.Dept;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
//@Mapper
public interface DeptMapper {
public List<Dept> queryAllDepts();
@Select("select deptno,dname,loc from dept where deptno=#{deptno}")
Dept findOneDept(@Param("deptno") String deptno);
@Insert("insert into dept (deptno,dname,loc) values (#{deptno},#{dname},#{loc})")
void insertDept(String deptno,String dname,String loc);
List<Dept> getAll();
Dept getOne(String deptno);
void insert(Dept dept);
void update(Dept dept);
void delete(String deptno);
}
<?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">
<mapper namespace="com.example.mybatis01.mapper.DeptMapper">
<resultMap id="dept" type="com.example.mybatis01.entity.Dept">
<result column="deptno" property="deptno"></result>
<result column="dname" property="dname"></result>
<result column="loc" property="loc"></result>
</resultMap>
<sql id="base-columns">
deptno,dname,loc
</sql>
<select id="queryAllDepts" resultMap="dept">
select deptno,dname,loc from dept
</select>
<select id="getAll" resultMap="dept">
select
<include refid="base-columns"></include>
from dept
</select>
<select id="getOne" resultMap="dept" parameterType="java.lang.String">
select
<include refid="base-columns"></include>
from dept
where deptno=#{deptno}
</select>
<insert id="insert" parameterType="com.example.mybatis01.entity.Dept">
insert into dept (deptno,dname,loc) values (#{deptno},#{dname},#{loc})
</insert>
<update id="update" parameterType="com.example.mybatis01.entity.Dept">
update dept set
<if test="dname!=null and dname!=''">dname=#{dname},</if>
<if test="loc!=null and loc!=''">loc=#{loc},</if>
deptno=#{deptno}
where deptno = #{deptno}
</update>
<delete id="delete" parameterType="java.lang.String">
delete from dept where deptno = #{deptno}
</delete>
</mapper>