mybatis 增删改查

mybatis中打印SQL语句的日志级别为DEBUG,若想打印SQL语句,可以将日志级别设置为DEBUG即可。

 

本文转自: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)