mybatis

mapper.xml文件头

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.neuedu.mapper.EmpMapper">

</mapper>

结构

                  <!--java下mapper位置-->
<mapper namespace="com.neuedu.mapper.???Mapper">
 <!--查-->      <!--方法名-->                   <!--参数类型-->             <!--返回值类型-->
  <select id = "serchByEmpno" parametmeterType = "Integer" resultType = "com.neuedu.pojo.Emp">
    select * from emp where empno = #{value}
  </select>
  <!--增--> 
  <insert parameterType="Registlevel" id="add">
    insert into registlevel (RegistCode,RegistName,SequenceNo,RegistFee,RegistQuota) values (#{registcode},#{registname},#{sequenceno},#{registfee},#{registquota}) 
  </insert>
   <!--改+动态sql-->
  <update parameterType="Registlevel" id="set">
  update registlevel 
  <set>
  <if test="registcode != null"> RegistCode = #{registcode}, </if>
  <if test="registname != null"> RegistName = #{registname}, </if>
  <if test="sequenceno != null"> SequenceNo = #{sequenceno}, </if>
  <if test="registfee != null"> RegistFee = #{registfee}, </if>
  <if test="registquota != null"> RegistQuota = #{registquota}, </if>
  <if test="delmark != null"> DelMark = #{delmark}, </if>
  </set>
  where ID = #{id} 
  </update> 
  <!--查map和模糊查询及分页-->
  <select resultType="map" parameterType="com.neuedu.hisdemo2.utils.PageUtils" id="selectAll">
  select * from registlevel where DelMark != 0 
  <if test="#{registlevelstr} != null"> and (RegistCode like '%${registlevelstr}%' or RegistName like '%${registlevelstr}%') </if>
  limit #{pageIndex},#{pageSize} 
  </select>
</mapper>

resources中
SqlMapConfig.xml

<?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>
    <properties resource="db.properties"></properties>
    <!--类型别名-->
    <typeAliases>
        <package name="com.xxxxx.pojo"/>
    </typeAliases>
                <!--development(开发 固定这么写)-->
    <environments default="development">
        <environment id="development">
            <!--事务管理器类型 为jdbc-->
            <transactionManager type="JDBC"></transactionManager>
            <!--数据源为合并数据-->
            <dataSource type="POOLED">
                <!--性质-->
                <property name="driver" value="${jdbc.driverClassName}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>

        </environment>
    </environments>
    <!--映射-->
    <mappers>
        <package name="com.xxxxx.mapper"/>
    </mappers>
</configuration>

log4j.properties

# Global logging configuration
# 在开发环境日志级别要设置为DEBUG、生产环境要设置为INFO或者ERROR
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

db.properties

jdbc.driverClassName = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/fly?useUnicode=true&characterEncoding=utf8
jdbc.username = root
jdbc.password = root
resultMap对应关系
           <resultMap type="saleChance" id="saleChanceResultMap">
                <id column="chanceId" property="chanceId"/>
                <result column="chanceSource" property="chanceSource"/>
                <result column="chanceCustName" property="chanceCustName"/>
                <result column="chanceTitle" property="chanceTitle"/>
                <result column="chanceRate" property="chanceRate"/>
                <result column="chanceLinkman" property="chanceLinkman"/>
                <result column="chanceTel" property="chanceTel"/>
                <result column="chanceDesc" property="chanceDesc"/>
                <result column="chanceCreateId" property="chanceCreateId"/>
                <result column="chanceCreateDate" property="chanceCreateDate"/>
                <result column="chanceDueId" property="chanceDueId"/>
                <result column="chanceDueDate" property="chanceDueDate"/>
                <result column="chanceStatus" property="chanceStatus"/> 
                <association property="sysUser" javaType="sysUser">
                    <id column="userId" property="userId"/>
                    <result column="chanceDueName" property="userName"/>
                    <result column="chanceCreateName" property="userName"/>
                </association>   
            </resultMap>
<select id="selectSaleInfoById" parameterType="SaleChance" resultMap = "saleChanceResultMap">
    select sa.*,sy.username chanceCreateName,s.username chanceDueName
    from salechance sa
    join sysuser s
    on s.userId = sa.chanceCreateId
    join sysuser sy
    on sy.userId = sa.chanceDueId
    where chanceId = #{chanceId}
    </select>
public class SaleChance {
  //加上要连接的表的实体类对象属性
  private SysUser sysUser;

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容