mybactis多对一

Mybactis多对一

mybactis的多对一的思想与一对多的思想并没有太大的差别,只不过是将期反过来,具体代码变化也不大,只是将实体映射类中的collection属性改为association属性,并将对应的值改变

需要的jar包:1mybatis-3.2.3.jar

                             2    mysql-connector-java-5.1.25-bin.jar

具体代码如下:

Users实体类:

package com.huweiyang.bean;

 

import java.io.Serializable;

import java.util.List;

 

publicclassUsers implements Serializable{

     privateintid;

     private String username;

     private String main;

  

     publicint getId() {

        returnid;

     }

     publicvoid setId(intid) {

        this.id = id;

     }

     public String getUsername() {

        returnusername;

     }

     publicvoid setUsername(String username) {

        this.username = username;

     }

     public String getMain() {

        returnmain;

     }

     publicvoid setMain(String main) {

        this.main = main;

     }

    

}

Post实体类:

package com.huweiyang.bean;

 

import java.io.Serializable;

 

publicclassPost implements Serializable{

  

   privateintpost_id;

   private Users user;

   publicint getPost_id() {

     returnpost_id;

   }

   publicvoid setPost_id(intpost_id) {

     this.post_id = post_id;

   }

   public Users getUser() {

     returnuser;

   }

   publicvoid setUser(Users user) {

     this.user = user;

   }

   public String getPsrt() {

     returnpsrt;

   }

   publicvoid setPsrt(String psrt) {

     this.psrt = psrt;

   }

   public String getMoter() {

     returnmoter;

   }

   publicvoid setMoter(String moter) {

     this.moter = moter;

   }

   private String psrt;

   private String moter;

 

}

实体类的映射:

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

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN" "mybatis-3-mapper.dtd">

<mapper namespace="com.huweiyang.bean.Post">

 

   <resultMap id="resultuserMap" type="Post">

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

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

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

     <association property="user" javaType="Users">

        <result property="id" column="usersid"/>

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

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

     </association>

   </resultMap>

   <select id="getUser" resultMap="resultuserMap"parameterType="int">

          SELECTu.*,p.*

     FROMusers u, post p

     WHEREu.id=p.usersid AND p.post_id=#{id}

    

   </select>

</mapper>

 

Mybactis配置:

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

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTDconfig 3.0//EN" "mybatis-3-config.dtd">

<configuration>

   <typeAliases>

     <typeAlias alias="Users" type="com.huweiyang.bean.Users"/>

     <typeAlias type="com.huweiyang.bean.Post" alias="Post"/>

   </typeAliases>

  

   <environments default="development">

     <environment id="development">

        <transactionManager type="JDBC" />

        <dataSource type="POOLED">

          <property name="driver" value="com.mysql.jdbc.Driver"/>

          <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybaits"/>

          <property name="username" value="root"/>

          <property name="password" value="lookme"/>

        </dataSource>

     </environment>

   </environments>

  

   <mappers>

     <mapper resource="com/huweiyang/bean/post.xml"/>

   </mappers>

</configuration>

测试类:

package com.huweiyang.mapping;

 

import java.io.IOException;

import java.io.Reader;

 

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

 

import com.huweiyang.bean.Post;

import com.huweiyang.bean.Users;

 

publicclassMapping {

    

   publicstaticvoid main(String[] args) throws IOException {

//   获取sqlsession对象

     Readersr = Resources.getResourceAsReader("config.xml");

     SqlSessionFactorysqlsessionf= newSqlSessionFactoryBuilder().build(sr);

     SqlSessionsqlsesion = sqlsessionf.openSession();

//   指定路径

     Postpost= sqlsesion.selectOne("com.huweiyang.bean.Post.getUser",1);

//   输出post表中对应的id

     System.out.println(post.getPsrt());

//   获取users实体类的对象

     Usersuser=post.getUser();

//   输出users表中对应的username

     System.out.println(user.getUsername());

    

    

   }

}

 

 

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值