佛山市网站建设企业,出口外贸交易平台,太原整站优化,高唐网站建设服务商上篇文章介绍了MyBatis的配置文件#xff0c;现在来介绍实体映射文件Mapper.xml。 说道实体映射文件#xff0c;就不得不说一下实体与表之间的映射关系#xff1a;单表映射和多表映射。 a. 单表映射 1 public class Admin{
2 private String id;
3 private String n… 上篇文章介绍了MyBatis的配置文件现在来介绍实体映射文件Mapper.xml。 说道实体映射文件就不得不说一下实体与表之间的映射关系单表映射和多表映射。 a. 单表映射 1 public class Admin{
2 private String id;
3 private String name;
4 private String password;
5 //三个属性的setter和getter方法
6 } 映射文件 1 ?xml version1.0 encodingUTF-8 ?2 !DOCTYPE mapper3 PUBLIC -//mybatis.org//DTD Mapper 3.0//EN4 http://mybatis.org/dtd/mybatis-3-mapper.dtd5 mapper namespaceyitian.study.dao.mapper6 resultMap idadminMapper typecom.xxx.entity.Admin7 id propertyid columnid/8 result propertyname columnname/9 result propertypassword columnpassword/
10 /resultMap
11 select idselectAdmin
12 resultTypeAdmin parameterTypeAdmin
13 SELECT *
14 FROM Admin
15 WHERE id #{id}
16 /select
17 select idselectAdminByName
18 resultTypeAdmin
19 SELECT *
20 FROM Admin
21 WHERE name #{name}
22 /select
23 insert idinsertAdmin
24 useGeneratedKeystrue
25 INSERT INTO Admin (name, password) VALUES (#{name}, #{password})
26 /insert
27 update idupdateAdmin
28 UPDATE Admin
29 SET password #{password}
30 WHERE id #{id}
31 /update
32 delete iddeleteAdmin
33 DELETE FROM Admin
34 WHERE id #{id}
35 /delete
36 /mapper View Code 映射文件包含实体类的映射和5条SQL语句分别是增删查改以及按名称查找。每一条语句都需要一个标识符(id)将会在后面再代码中用到。如果是查询语句还需要resultType指定返回类型。MyBatis会将数据表列名和这里指定的类型属性按名称自动映射起来。如果需要在语句中传入参数可以使用 parameterType属性指定Java实体类的全名或简写然后就可以在SQL语句中使用#{}来访问参数的属性了。如果是简单的映射那么parameterType属性还可以省略MyBatis会自动从传入的Java对象中获取相应的属性。对于某些数据库例如MySQL还可以在插入的时候指定useGeneratedKeystrue让数据库自动生成主键。 常用的方法有增删查改这几个方法。这些方法的第一个参数是前面我们在映射文件中定义的语句ID第二个参数是要传入的参数。对于查询来说有selectOne和selectList方法它们的区别主要在于返回个数如果确定只返回一个对象就使用selectOne方法。 示例如下 1 Admin admin sqlSession.selectOne(selectAdminByName,name); 上述方法是采用字符串来指定要使用的查询。MyBatis还给我们提供了一种映射类的方式来实现sql语句。 映射类其实就是一个简单的接口。该接口中的方法和映射文件中定义的语句一一对应。接口方法的名称必须和语句id完全相同接口方法的返回值和参数和相应的语句相对应。 public interface AdminMapper {Admin selectAdmin(int id);Admin selectAdminByName(String name);void insertAdmin(Admin admin);void updateAdmin(Admin admin);void deleteAdmin(Admin admin);
} 仅仅增加映射类还不够我们需要修改映射文件以便让MyBatis能找到这个映射类。做法就是将映射文件的命名空间改为对应的映射类的类名。 mapper namespacecom.xxx.mapper.AdminMapper 在两者定义好之后我们就可以使用了。在SqlSession上调用getMapper方法并传入要获取的Mapper类即可。 1 AdminMapper mapper sqlSession.getMapper(AdminMapper.class);
2 Admin s mapper.selectAdminByName(name); b. 多表映射 关于多表映射的书写请参考这篇文章----《MyBatis快速入门2多表映射》个人觉得讲的还不错本人就不在赘述了。转载于:https://www.cnblogs.com/shouming/articles/7809599.html