您的位置:首页 > 其它

mybatis的数据操作注入方式简单介绍

2017-07-15 23:40 405 查看
使用xml文件注入:

文件格式

可以参考:http://www.cnblogs.com/liaojie970/p/5577018.html

    ​    ​    ​    ​http://doc.okbase.net/dongying/archive/108476.html

<?xml version="1.0" encoding="UTF-8" ?>   

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.wyq.Mapper.WOperatorAdminAndUserMapper">

   

   <!-- 对应userDao中的insertUser方法,  -->

   <insert id="insertManager" parameterType="com.wyq.Bean.Manager">

   insert into tb_manager(id, name, PWD) 

   values(#{id}, #{name}, #{pwd})

   </insert>

   

   <insert id="insertManagers" parameterType="com.wyq.Bean.Manager">

   insert into tb_manager(id, name, PWD) 

   values(#{id}, #{name}, #{pwd})

   </insert>

   

   <insert id="insertReader" parameterType="com.dy.entity.User">

   insert into user(id, name, password, age, deleteFlag) 

   values(#{id}, #{name}, #{password}, #{age}, #{deleteFlag})

   </insert>

   

   <!-- 对应userDao中的updateUser方法 -->

   <update id="updateUser" parameterType="com.dy.entity.User">

   update user set name = #{name}, password = #{password}, age = #{age}, deleteFlag = #{deleteFlag}

   where id = #{id};

   </update>

   <!-- 对应userDao中的deleteUser 方法 --> 

   <delete id="deleteUser" parameterType="com.dy.entity.User">

   delete from user where id = #{id};

   </delete>

</mapper>

自动注入:

使用if的,还有choose when otherwise

集合的例子

<resultMap type="Course" id="CourseResult">

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

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

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

<result column="start_date" property="startDate"/>

<result column="end_date" property="endDate"/>

</resultMap>

<select id="searchCourses" parameterType="hashmap"

resultMap="CourseResult">

<![CDATA[

SELECT * FROM COURSES

WHERE TUTOR_ID= #{tutorId}

<if test="courseName != null">

AND NAME LIKE #{courseName}

</if>

<if test="startDate != null">

AND START_DATE >= #{startDate}

</if>

<if test="endDate != null">

AND END_DATE <= #{endDate}

</if>

]]>

</select>

public interface CourseMapper

{

List<Course> searchCourses(Map<String, Object> map);

}

public void searchCourses()

{

Map<String, Object> map = new HashMap<String, Object>();

map.put("tutorId", 1);

map.put("courseName", "%java%");

map.put("startDate", new Date());

CourseMapper mapper = sqlSession.getMapper(CourseMapper.class);

List<Course> courses = mapper.searchCourses(map);

for (Course course : courses) {

System.out.println(course);

}

<update id="updateStudent" parameterType="Student">

update students

<set>

<if test="name != null">name=#{name},</if>

<if test="email != null">email=#{email},</if>

<if test="phone != null">phone=#{phone},</if>

</set>

where stud_id=#{id}

</update>

@SelectKey(statement="SELECT STUD_ID_SEQ.NEXTVAL FROM DUAL",

keyProperty="studId", resultType=int.class, before=true)

int insertStudent(Student student);

@Select("SELECT * FROM STUDENTS")

@Results({

@Result(id=true, column="stud_id", property="studId"),

@Result(column="name", property="name"),

@Result(column="email", property="email"),

@Result(column="addr_id", property="address.addrId")

})

List<Student> findAllStudents();

update

@Update("UPDATE STUDENTS SET NAME=#{name}, EMAIL=#{email},

PHONE=#{phone} WHERE STUD_ID=#{studId}")

int updateStudent(Student student);

delete

@Delete("DELETE FROM STUDENTS WHERE STUD_ID=#{studId}")

int deleteStudent(int studId);

Insert

@Insert("INSERT INTO STUDENTS(STUD_ID,NAME,EMAIL,ADDR_ID, PHONE)

VALUES(#{studId},#{name},#{email},#{address.addrId},#{phone})")

int insertStudent(Student student);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐