当前位置: 首页 > wzjs >正文

模版网站怎么做济南做seo外包

模版网站怎么做,济南做seo外包,java和PHP做网站哪个好,网站后台生成静态页面目录 一.为什么需要进行手动映射? 二.关联查询 1.使用resultMap进行映射 2.使用Connection进行映射 一.为什么需要进行手动映射? 当我们设计多表查询或关联查询时,表中含有相同的字段名或要进行关联查询时,MyBatis无法智能识别如何处理映射结果&…

目录

一.为什么需要进行手动映射?

二.关联查询

1.使用resultMap进行映射

2.使用Connection进行映射


一.为什么需要进行手动映射?

当我们设计多表查询或关联查询时,表中含有相同的字段名或要进行关联查询时,MyBatis无法智能识别如何处理映射结果,就需要我们进行手动映射

二.关联查询

用员工表单和部门表单进行演示,对应的表单信息如下

create table employee(id int primary key auto_increment,name varchar(20),gender char(1),dep_id int,constraint employee_department foreign key(dep_id) references department(id)
)
create table department(id int primary key auto_increment,name varchar(10)
)

1.使用resultMap进行映射

我们需要用员工的id来查询他所在的部门

Employee实体类定义:

用一个Department对象来接收部门信息

public class Employee {private int id;private String name;private String gender;private Department department;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public Department getDepartment() {return department;}public void setDepartment(Department department) {this.department = department;}@Overridepublic String toString() {return "Employee{" +"id=" + id +", name='" + name + '\'' +", gender='" + gender + '\'' +", department=" + department +'}';}
}

Employee接口定义:

public interface EmployeeDao {Employee findEmployeeById(int id);ArrayList<EmployeeDao> findEmployee();
}

Mapper定义:

<?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="Demo.dao.EmployeeDao"><resultMap id="EmployeeMap" type="Employee"><id property="id" column="id"/><result property="name" column="name"/><result property="gender" column="gender"/>
<!--    在关联表时,会自动创建映射对象    --><association property="department" javaType="Department"><id property="id" column="did"/><result property="name" column="dname"/></association></resultMap><select id="findEmployeeById" parameterType="int" resultMap="EmployeeMap">select e.name,e.gender,d.name dname,d.id didfrom employee e inner join department d on e.dep_id=d.idwhere e.id=#{id}</select><select id="findEmployee" resultMap="EmployeeMap">select e.name,e.gender,d.name dnamefrom employee e inner join department d on e.dep_id=d.id</select></mapper>

映射部分单独拿出来解释:

//id就是resultMap的名字,type就是映射对象的数据类型(对应的实体类)<resultMap id="EmployeeMap" type="Employee"><id property="id" column="id"/><result property="name" column="name"/><result property="gender" column="gender"/>
<!--    在关联表时,会自动创建映射对象    -->
//property接收映射结果对象的名字,javaType就是在java中对应的数据类型<association property="department" javaType="Department"><id property="id" column="did"/><result property="name" column="dname"/></association></resultMap>

2.使用Connection进行映射

我们需要查找某个部门的所有员工

Department对应的实体类:

public class Department {private int id;private String name;private ArrayList<Employee> employee;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public ArrayList<Employee> getArrayList() {return employee;}public void setArrayList(ArrayList<Employee> arrayList) {this.employee = arrayList;}@Overridepublic String toString() {return "Department{" +"id=" + id +", name='" + name + '\'' +", arrayList=" + employee +'}';}
}

Department对应的接口:

public interface DepartmentDao {Department findDepartmentById(int id);
}

Mapper:

<?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="Demo.dao.DepartmentDao"><resultMap id="departmentMap" type="Department"><id column="id" property="id"/><result column="name" property="name"/>
<!--   这里的property必须和对应实现类的集合名相同,javatype指的是java中的数据类型,ofType指的是集合的泛型    --><collection property="employee" javaType="arraylist" ofType="Employee"><id column="did" property="id"/><result column="ename" property="name"/><result column="egender" property="gender"/></collection></resultMap>
<!--  查询结果必须全部写在映射里面  --><select id="findDepartmentById" parameterType="int" resultMap="departmentMap">select e.name ename,e.gender egender,e.id eid,d.name,d.idfrom employee e inner join department d on e.dep_id=d.idwhere d.id = #{id}</select>
</mapper>

http://www.dtcms.com/wzjs/394790.html

相关文章:

  • 新疆生产建设兵团奇台总场网站百度福州分公司
  • 网站建设找哪家公司比较好磁力宝最佳搜索引擎入口
  • 石材企业网站源码常州网站建设制作
  • 网站制作成都模板建站优点
  • 潍坊网站排名提升网络推广网站有哪些
  • 包装设计网站免费衡阳seo优化首选
  • 建设网站要买服务器精准网络推广
  • 网站加强队伍建设新网
  • 延庆青岛网站建设咸阳seo公司
  • 做to b的网站怎么在百度上做推广
  • 个人或主题网站建设上海网络推广公司网站
  • 光谷企业网站建设牛推网络
  • 衡水微信网站建设seo怎么优化简述
  • 新闻发布会策划流程外贸网站建设优化
  • 网站建设欧美中国电信视频app下载
  • 泉州网站建设费用互联网推广话术
  • 自己做网站的服务器如何制作视频网站
  • 招投标网站官网衡阳seo快速排名
  • 系网站建设工作总结seo咨询邵阳
  • 百度网站快速排名公司南京seo优化培训
  • 电商网站开发的意义口碑营销的优势有哪些
  • 宿迁企业网站建设seo是什么
  • 古典asp网站源码搜索软件使用排名
  • 庞各庄网站建设优就业seo课程学多久
  • 备案的博客网站可以做别的吗长沙市最新疫情
  • swf格式网站链接怎样做seo关键词优化推荐
  • 德州网站建设德州必应搜索引擎入口官网
  • 做网站的支付网站托管代运营
  • 浙江省建设厅信息中心网站西安网站建设制作公司
  • 做数码后期上数码网站百度关键词优化工具