public class AdminUser { private CmbcUserWhiteList cmbcUserWhiteList; private UserPassword userPassword; //...省略getter setter }
<resultMap id="BaseResultMap" type="com.cmbc.mgm_model.model.AdminUser"> <!--1对多--> <collection property="cmbcUserWhiteList" resultMap="com.cmbc.mgm_dao.dao.CmbcUserWhiteListMapper.BaseResultMap" /> <!--1对1--> <association property="userPassword" resultMap="com.cmbc.mgm_dao.dao.UserPasswordMapper.BaseResultMap" /> </resultMap>
1对多,集合为string类型的写法,一个角色拥有多个权限,字段role为1,字段rp_permission_url为多 <collection property="permissionUrls" column="role" ofType="string"> <result column="rp_permission_url" /> </collection>
1、返回自增长字段 useGeneratedKeys="true" keyProperty="id" //keyProperty对应java类中的字段 dao层返回值为void insertReturnId(Dksq record); //如果为int,则返回受影响的行数
2、MyBatis传入参数为list、数组、map写法 http://blog.csdn.net/s592652578/article/details/52871884
MyBatis if 判断条件为等于的问题 https://blog.csdn.net/shenzhenNBA/article/details/46673327
<if test="flag==1"></if> 就算flag为String类型,这里也不能写成flag=='1',否则返回false;或者换一种写法flag == '1'.toString()
mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter来代替参数名 https://blog.csdn.net/ybcljay/article/details/80831607
mybaitis if多条件 <if test="rydm!=null and rydm!='' or jgdmList.size() == 0 and !jgdmList.contains('11')"> mysql: concat('%',#{rydm},'%')
<!-- mybatis sql打印配置 --> <?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> <!-- 指定mybatis日志的实现方式 如果设置为STDOUT_LOGGING,则会打印sql语句,但是不会按照logback的设置去打印 如果不设置,则默认查找程序所用的日志实现 --> <!-- <setting name="logImpl" value="STDOUT_LOGGING" /> --> <!-- 指定日志前缀,用于匹配logger的name名称,配置后,可以打印机sql语句, 但是需要trace级别才能打印ResultSet <logger name="sqlLog" />使用,sqlLog名字随便起(该包名实际是不存在的)与logPrefix的值对应即可 mybatis3.2+ --> <setting name="logPrefix" value="sqlLog."/> </settings> </configuration>