码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis 增删改查

时间:2015-04-21 20:41:00      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

本文转自:http://www.yihaomen.com/article/java/302.htm

增:

<!--执行增加操作的SQL语句。id和parameterType 分别与IUserOperation接口中的addUser方法的名字和参数类型一致。以#{name}的形式引用Student参数

的name属性,MyBatis将使用反射读取Student参数 的此属性。#{name}中name大小写敏感。引用其他的gender等属性与此一致。seGeneratedKeys设置 

为"true"表明要MyBatis获取由数据库自动生成的主键;keyProperty="id"指定把获取到的主键值注入到Student的id属性--> 

<insert id="addUser" parameterType="User" useGeneratedKeys="true" keyProperty="id"> 

         insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress}) 

</insert> 

 

删:

<delete id="deleteUser" parameterType="int">

         delete from user where id=#{id}

</delete> 

 

改:

<update id="updateUser" parameterType="User" >

       update user set userName=#{userName},userAge=#{userAge},userAddress=#{userAddress} where id=#{id}

</update>

 

查:

普通查询:

<mapper namespace="com.yihaomen.mybatis.models.UserMapper">

          <select id="selectUserByID" parameterType="int" resultType="User">

                 select * from `user` where id = #{id}

          </select>

</mapper>

 

列表查询:

查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType,

而这个resultMap 所对应的应该是我们自己配置的

<!-- 为了返回list 类型而定义的returnMap -->

<resultMap type="User" id="resultListUser">

        <id column="id" property="id" />

        <result column="userName" property="userName" />

        <result column="userAge" property="userAge" />

        <result column="userAddress" property="userAddress" />

</resultMap>

<!-- 返回list 的select 语句,注意 resultMap 的值是指向前面定义好的 -->

<select id="selectUsers" parameterType="string" resultMap="resultListUser">

          select * from user where userName like #{userName}

</select>

 

关联数据查询:

<!-- User 联合文章进行查询 方法之一的配置 (多对一的方式) -->

<resultMap id="resultUserArticleList" type="Article">

           <id property="id" column="aid" />

           <result property="title" column="title" />

           <result property="content" column="content" />



          <association property="user" javaType="User">

                  <id property="id" column="id" />

                  <result property="userName" column="userName" />

                  <result property="userAddress" column="userAddress" />

           </association>

</resultMap>

<select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList">

          select user.id,user.userName,user.userAddress,article.id aid,article.title,article.content from user,article 

                     where user.id=article.userid and user.id=#{id}

</select>

 

关联查询改进:

<resultMap type="User" id="resultListUser">

           <id column="id" property="id" />

           <result column="userName" property="userName" />

           <result column="userAge" property="userAge" />

           <result column="userAddress" property="userAddress" />

</resultMap>

<!-- User 联合文章进行查询 方法之二的配置 (多对一的方式) --> 

<resultMap id="resultUserArticleList-2" type="Article">

           <id property="id" column="aid" />

           <result property="title" column="title" />

           <result property="content" column="content" /> 

           <association property="user" javaType="User" resultMap="resultListUser" /> 

</resultMap>


<select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList">

            select user.id,user.userName,user.userAddress,article.id aid,article.title,article.content from user,article where user.id=article.userid and user.id=#{id}

</select>

 

分页查询:

<select id="getUserArticles" parameterType="map" resultMap="resultUserArticleList">

           select user.id,user.userName,user.userAddress,article.id aid,article.title,article.content from user,article

                      where user.id=article.userid and user.id=#{id} limit #{offset},#{pagesize}

</select>

 

mybatis 增删改查

标签:

原文地址:http://www.cnblogs.com/Jtianlin/p/4445224.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!