• Mybatis配置


    package com.tszr.mango.config;
    
    import javax.sql.DataSource;
    
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.mybatis.spring.SqlSessionFactoryBean;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
    
    @Configuration
    @MapperScan("com.tszr.mango.**.dao")
    public class MybatisConfig {
    
        @Autowired
        private DataSource dataSource;
    
        @Bean
        public SqlSessionFactory sqlSessionFactory() throws Exception {
            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
            sessionFactory.setDataSource(dataSource);
            sessionFactory.setTypeAliasesPackage("com.tszr.mango.**.model"); // 扫描Model
    
            PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
            sessionFactory.setMapperLocations(resolver.getResources("classpath*:**/sqlmap/*.xml")); // 扫描映射文件
    
            return sessionFactory.getObject();
        }
    }
    <?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.louis.mango.admin.dao.SysUserMapper">
      <resultMap id="BaseResultMap" type="com.louis.mango.admin.model.SysUser">
        <id column="id" jdbcType="BIGINT" property="id" />
        <result column="name" jdbcType="VARCHAR" property="name" />
        <result column="nick_name" jdbcType="VARCHAR" property="nickName" />
        <result column="avatar" jdbcType="VARCHAR" property="avatar" />
        <result column="password" jdbcType="VARCHAR" property="password" />
        <result column="salt" jdbcType="VARCHAR" property="salt" />
        <result column="email" jdbcType="VARCHAR" property="email" />
        <result column="mobile" jdbcType="VARCHAR" property="mobile" />
        <result column="status" jdbcType="TINYINT" property="status" />
        <result column="dept_id" jdbcType="BIGINT" property="deptId" />
        <result column="create_by" jdbcType="VARCHAR" property="createBy" />
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
        <result column="last_update_by" jdbcType="VARCHAR" property="lastUpdateBy" />
        <result column="last_update_time" jdbcType="TIMESTAMP" property="lastUpdateTime" />
        <result column="del_flag" jdbcType="TINYINT" property="delFlag" />
      </resultMap>
      <sql id="Base_Column_List">
        id, name, nick_name, avatar, password, salt, email, mobile, status, dept_id, create_by, 
        create_time, last_update_by, last_update_time, del_flag
      </sql>
      <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
        select 
        <include refid="Base_Column_List" />
        from sys_user
        where id = #{id,jdbcType=BIGINT}
      </select>
      <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
        delete from sys_user
        where id = #{id,jdbcType=BIGINT}
      </delete>
      <insert id="insert" parameterType="com.louis.mango.admin.model.SysUser">
        insert into sys_user (id, name, nick_name, 
          avatar, password, salt, 
          email, mobile, status, 
          dept_id, create_by, create_time, 
          last_update_by, last_update_time, del_flag
          )
        values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{nickName,jdbcType=VARCHAR}, 
          #{avatar,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{salt,jdbcType=VARCHAR}, 
          #{email,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}, #{status,jdbcType=TINYINT}, 
          #{deptId,jdbcType=BIGINT}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
          #{lastUpdateBy,jdbcType=VARCHAR}, #{lastUpdateTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=TINYINT}
          )
      </insert>
      <insert id="insertSelective" parameterType="com.louis.mango.admin.model.SysUser">
        insert into sys_user
        <trim prefix="(" suffix=")" suffixOverrides=",">
          <if test="id != null">
            id,
          </if>
          <if test="name != null">
            name,
          </if>
          <if test="nickName != null">
            nick_name,
          </if>
          <if test="avatar != null">
            avatar,
          </if>
          <if test="password != null">
            password,
          </if>
          <if test="salt != null">
            salt,
          </if>
          <if test="email != null">
            email,
          </if>
          <if test="mobile != null">
            mobile,
          </if>
          <if test="status != null">
            status,
          </if>
          <if test="deptId != null">
            dept_id,
          </if>
          <if test="createBy != null">
            create_by,
          </if>
          <if test="createTime != null">
            create_time,
          </if>
          <if test="lastUpdateBy != null">
            last_update_by,
          </if>
          <if test="lastUpdateTime != null">
            last_update_time,
          </if>
          <if test="delFlag != null">
            del_flag,
          </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
          <if test="id != null">
            #{id,jdbcType=BIGINT},
          </if>
          <if test="name != null">
            #{name,jdbcType=VARCHAR},
          </if>
          <if test="nickName != null">
            #{nickName,jdbcType=VARCHAR},
          </if>
          <if test="avatar != null">
            #{avatar,jdbcType=VARCHAR},
          </if>
          <if test="password != null">
            #{password,jdbcType=VARCHAR},
          </if>
          <if test="salt != null">
            #{salt,jdbcType=VARCHAR},
          </if>
          <if test="email != null">
            #{email,jdbcType=VARCHAR},
          </if>
          <if test="mobile != null">
            #{mobile,jdbcType=VARCHAR},
          </if>
          <if test="status != null">
            #{status,jdbcType=TINYINT},
          </if>
          <if test="deptId != null">
            #{deptId,jdbcType=BIGINT},
          </if>
          <if test="createBy != null">
            #{createBy,jdbcType=VARCHAR},
          </if>
          <if test="createTime != null">
            #{createTime,jdbcType=TIMESTAMP},
          </if>
          <if test="lastUpdateBy != null">
            #{lastUpdateBy,jdbcType=VARCHAR},
          </if>
          <if test="lastUpdateTime != null">
            #{lastUpdateTime,jdbcType=TIMESTAMP},
          </if>
          <if test="delFlag != null">
            #{delFlag,jdbcType=TINYINT},
          </if>
        </trim>
      </insert>
      <update id="updateByPrimaryKeySelective" parameterType="com.louis.mango.admin.model.SysUser">
        update sys_user
        <set>
          <if test="name != null">
            name = #{name,jdbcType=VARCHAR},
          </if>
          <if test="nickName != null">
            nick_name = #{nickName,jdbcType=VARCHAR},
          </if>
          <if test="avatar != null">
            avatar = #{avatar,jdbcType=VARCHAR},
          </if>
          <if test="password != null">
            password = #{password,jdbcType=VARCHAR},
          </if>
          <if test="salt != null">
            salt = #{salt,jdbcType=VARCHAR},
          </if>
          <if test="email != null">
            email = #{email,jdbcType=VARCHAR},
          </if>
          <if test="mobile != null">
            mobile = #{mobile,jdbcType=VARCHAR},
          </if>
          <if test="status != null">
            status = #{status,jdbcType=TINYINT},
          </if>
          <if test="deptId != null">
            dept_id = #{deptId,jdbcType=BIGINT},
          </if>
          <if test="createBy != null">
            create_by = #{createBy,jdbcType=VARCHAR},
          </if>
          <if test="createTime != null">
            create_time = #{createTime,jdbcType=TIMESTAMP},
          </if>
          <if test="lastUpdateBy != null">
            last_update_by = #{lastUpdateBy,jdbcType=VARCHAR},
          </if>
          <if test="lastUpdateTime != null">
            last_update_time = #{lastUpdateTime,jdbcType=TIMESTAMP},
          </if>
          <if test="delFlag != null">
            del_flag = #{delFlag,jdbcType=TINYINT},
          </if>
        </set>
        where id = #{id,jdbcType=BIGINT}
      </update>
      <update id="updateByPrimaryKey" parameterType="com.louis.mango.admin.model.SysUser">
        update sys_user
        set name = #{name,jdbcType=VARCHAR},
          nick_name = #{nickName,jdbcType=VARCHAR},
          avatar = #{avatar,jdbcType=VARCHAR},
          password = #{password,jdbcType=VARCHAR},
          salt = #{salt,jdbcType=VARCHAR},
          email = #{email,jdbcType=VARCHAR},
          mobile = #{mobile,jdbcType=VARCHAR},
          status = #{status,jdbcType=TINYINT},
          dept_id = #{deptId,jdbcType=BIGINT},
          create_by = #{createBy,jdbcType=VARCHAR},
          create_time = #{createTime,jdbcType=TIMESTAMP},
          last_update_by = #{lastUpdateBy,jdbcType=VARCHAR},
          last_update_time = #{lastUpdateTime,jdbcType=TIMESTAMP},
          del_flag = #{delFlag,jdbcType=TINYINT}
        where id = #{id,jdbcType=BIGINT}
      </update>
      <select id="findPage" resultMap="BaseResultMap">
        select u.*, (select d.name from sys_dept d where d.id = u.dept_id) deptName from sys_user u
      </select>
      <select id="findByName" parameterType="java.lang.String" resultMap="BaseResultMap">
        select u.*, (select d.name from sys_dept d where d.id = u.dept_id) deptName from sys_user u
        where u.name = #{name,jdbcType=VARCHAR}
      </select>
      <select id="findPageByName" parameterType="java.lang.String" resultMap="BaseResultMap">
          <bind name="pattern" value="'%' + _parameter.name + '%'" />
        select u.*, (select d.name from sys_dept d where d.id = u.dept_id) deptName from sys_user u
        where u.name like #{pattern}
      </select>
      <select id="findPageByNameAndEmail" parameterType="java.lang.String" resultMap="BaseResultMap">
          <bind name="patternName" value="'%' + _parameter.name + '%'" />
          <bind name="patternEmail" value="'%' + _parameter.email + '%'" />
        select u.*, (select d.name from sys_dept d where d.id = u.dept_id) deptName from sys_user u
        where u.name like #{patternName}
        and u.email like #{patternEmail}
      </select>
    </mapper>
  • 相关阅读:
    HttpMessageNotWritableException: Could not write JSON: No serializer found for class ****
    处理【Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operatio】
    java 日历类Calendar用法
    linux配置nginx
    linux 重命名文件和文件夹
    CentOS 6.7 配置 yum 安装 Nginx
    maven打包时跳过单元测试
    Eclipse 保存文件时自动格式化代码
    mybatis大于号,小于号,去地址符,单引号,双引号转义说明
    玩转Eclipse — 自动代码生成的Java Code Template
  • 原文地址:https://www.cnblogs.com/tszr/p/15942022.html
Copyright © 2020-2023  润新知