mybatis的mapper映射文件
MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。
select标签
<select id="selectStudent1" resultType="su"> select * from student where id = #{id} </select> <select id="selectStudent2" parameterType="int" resultType="hashmap"> SELECT * FROM student WHERE ID = #{id} </select> Student selectStudent1(Integer id); HashMap selectStudent2(Integer id);
Insert标签
如果你的数据库支持自动生成主键的字段(比如 MySQL 和 SQL Server),那么你可以设置 useGeneratedKeys=”true”,然后再把 keyProperty 设置为目标属性就 OK 了。例如,如果上面的 Author 表已经在 id 列上使用了自动生成,那么语句可以修改为:
<insert id="insertStudent" useGeneratedKeys="true" keyProperty="id"> insert into student (name,location,hobby,age) values (#{name},#{location},#{hobby},#{age}) </insert> Student s=new Student(); s.setAge(10); s.setLocation("上海"); s.setName("陈三龙"); s.setHobby("旅行"); sqlSession.insert("com.po.pf.repository.StudentMapper.insertStudent", s); System.out.println(s.getId());
返回的主键为3
resultMap标签
<resultMap id="studentResultMap" type="su"> <id property="id" column="user_id" /> <result property="name" column="name"/> <result property="location" column="location"/> <result property="hobby" column="hobby"/> <result property="age" column="age"/> </resultMap> <select id="selectStudent3" parameterType="int" resultMap="studentResultMap"> SELECT * FROM student WHERE ID = #{id} </select> Student student = sqlSession.selectOne("com.po.pf.repository.StudentMapper.selectStudent3", 1); System.out.println(student.toString());
打印结果
Student(id=null, name=王泽坤, location=北京, hobby=游泳, age=21)
标签:mapper,student,映射,location,Student,mybatis,hobby,id From: https://www.cnblogs.com/popopopopo/p/16982016.html