类型别名,
写在总配置文件中,注意节点元素的顺序或位置
显示mybatis的日志信息
导入jar包 log4j-1.2.16.jar
拷贝log4j.properties到src的根目录中
sql语句块:
用sql标签定义一段sql通过include 引用进来
<sql id="select_user">
select
id,
username name,
userpassword password
from t_user
</sql>
<include refid="select_user"/>
例如:
<!-- 查询一个数据 -->
<select id="findUserById"
parameterType="java.lang.Integer"
resultType="com.tarena.entity.User">
<include refid="select_user"></include>
where id = #{id}
</select>
resultMap节点
<!-- 处理有关结果集列名字跟实体中的getter and setter方法不匹配问题
type="User" java的实体类型(通过<typeAlias type="com.tarena.entity.User" alias="User"/> 定义出来的User)
id="userMap" 唯一一个名称
<id 对应的是主键
<reslut 普通的属性或结果集的列
property:对应java实体类型(字段名称)中的getter and setter
column:结果集的列名字,注意不是数据表的字段名(select 后的字段名字,例如uname as name ,这里应该是name)
-->
<resultMap type="User" id="userMap">
<id property="id" column="id"/>
<result property="name" column="username" />
<result property="password" column="userpassword"/>
</resultMap>
<!-- 查询一个数据 -->
<select id="findUserById"
parameterType="java.lang.Integer"
resultMap="userMap">
<include refid="select_user"></include>
where id = #{id}
</select>
动态sql语句
if标签:
<!-- if标签
<if test=" name != null" 从user对象调用getName ,是否为null
不为null where age=20 and username=?
为null where age=20
-->
<select