mybatis
来源:互联网 发布:山西省软件行业协会 编辑:程序博客网 时间:2024/05/22 13:34
自定义sql片段
<sql id = "update_Column" > ID, Name, SerialNumber, Address, Phone, Province, City, District, ProvinceID, CityID, DistrictID, Remark, State</sql>
通过id引入sql片段
<include refid = "update_Column" ></ include >
条件判断(string类型)
<if test="keyword != null and keyword != ''">and Name like '%${keyword}%' or SerialNumber like '%${keyword}%'</if>
条件判断(int类型)
<if test="warehouseid!=null">and warehouseID =#{warehouseid,jdbcType=INTEGER}</if>
条件判断(时间类型)
<if test="startTime!=null and startTime!=''">and<![CDATA[collectionTime >=#{startTime}]]></if>
查询
<select id = "selectArticleByUserId" parameterType="java.lang.String" resultMap="ArticleResultMap" > select * from tb_article where userId=#{userId} </select>
更新
<update id = "update" parameterType="com.mms.pojo.Device">update device set typeID = #{typeID,jdbcType=VARCHAR},serialNumber = #{serialNumber,jdbcType=VARCHAR},name = #{name,jdbcType=VARCHAR},spec = #{spec,jdbcType=VARCHAR},departmentID = #{departmentID,jdbcType=INTEGER},warehouseID = #{warehouseID,jdbcType=INTEGER},Site = #{site,jdbcType=VARCHAR},State = #{state,jdbcType=INTEGER}where id = #{id,jdbcType=INTEGER}</update>
删除
<delete id = "delete" parameterType="java.lang.Integer">delete from department where id= #{id,jdbcType=INTEGER}</delete>
插入
<insert id = "insert" parameterType="com.mms.pojo.Members">insert into members( ULoginName, ULoginMoblie, UPswd, UName, RegDate, usex, faceimg, ismanage, DepartmentID ) values( #{uloginname,jdbcType=VARCHAR}, #{uloginmoblie,jdbcType=VARCHAR}, #{upswd,jdbcType=VARCHAR}, #{uname,jdbcType=VARCHAR}, #{regdate,jdbcType=TIMESTAMP}, #{usex}, #{faceimg}, #{ismanage}, #{departmentID} )</insert>
关键字查询
<if test="keyword != null and keyword != ''">and Name like '%${keyword}%' or SerialNumber like'%${keyword}%'</if><if test="departmentid!=null">and DepartmentID=#{departmentid,jdbcType=INTEGER}</if><if test="warehouseid!=null">and warehouseID=#{warehouseid,jdbcType=INTEGER}</if><if test="typeid!=null and typeid!=''">and typeID=#{typeid,jdbcType=VARCHAR}</if><if test="start!=null and length!=null">limit #{start,jdbcType=INTEGER},#{length,jdbcType=INTEGER}</if>
< trim prefix = "set" suffixoverride="," suffix=" where id = #{id} "> <if test="name != null and name.length()>0"> name=#{name},</if> <if test="gender != null and gender.length()>0"> gender=#{gender} ,</if></trim>注解:prefix = "set" :前面加"set" suffixoverride = "," :去除最后一个"," suffix=" where id = #{id} " :在尾部加 "where id = #{id}"
一对一与一对多collection和association的使用
一、一对一
Article类(文章类)
private int id;//主键private String articleTitle;//文章标题private String articleContent;//文章内容
User类(用户类)
private int id;//主键private String userName;//用户姓名private int Article_id;//外键(文章id)private Article article;//额外增加的的文章属性(数据库没有这一列)
Article Mapping(xml文件)
<select id="selectArticleById" parameterType="java.lang.Integer" resultMap="ArticleResultMap" > select * from Article where id = #{id} </select>注:这个方法必须有
User Mapping(xml文件)
<resultMap id="userResultMap" type="test.mybatis.entity.User"> <id column="id" property="id"/> <result column="userName" property="userName"/> <result column="Article_id" property="Article_id"/> //这里把外键(Article_id)传过去 <association property="article" column="Article_id" select="test.mybatis.dao.articleMapper.selectArticleById" />//test.mybatis.dao.articleMapper为命名空间</resultMap>
二、一对多,collection,理解了一对一,一对多容易理解。
Article类(文章类)
private int id;//主键private String articleTitle;//文章标题private String articleContent;//文章内容
User类(用户类)
private int id;//主键private String userName;//用户姓名private int Article_id;//外键(文章id)private List<Article> articleList;//额外增加的的文章属性(数据库没有这一列)
Article Mapping(xml文件)
<select id = "selectArticleById" parameterType="java.lang.Integer" resultMap="ArticleResultMap" > select* from Article where id = #{id} </select>
User Mapping(xml文件)
<resultMap id = "userResultMap" type="test.mybatis.entity.User"> <id column = "id" property="id"/> <result column = "userName" property="userName"/> <result column = "Article_id" property="Article_id"/> //这里把外键(Article_id)传过去 <collection property = "articleList" column="Article_id" select="test.mybatis.dao.articleMapper.selectArticleById" />//test.mybatis.dao.articleMapper为命名空间</resultMap>
阅读全文
0 0
- MyBatis
- MyBatis
- Mybatis
- myBatis
- mybatis
- MyBatis
- mybatis
- Mybatis
- MyBatis
- Mybatis
- mybatis
- MyBatis
- MyBatis
- mybatis
- MyBatis
- mybatis
- mybatis
- mybatis
- jQuery笔记11-8
- Java
- 线性筛——欧拉筛 C++程序实现 洛谷 模板题 P3383
- FastDFS学习笔记
- 条款33:避免遮掩继承而来的名称
- mybatis
- mysql条件判断、临时变量
- 从JDK源码看InputStream
- LEGB作用域
- sql语句,如何找出重复的数据
- Tomcat-server.xml文件详解
- 软考设计模式——状态模式(C++篇)
- mtk手机从刷机到修改客户需求的点点滴滴
- Android N JACK编译器不支持多用户同时编译的解决办法