mybatis多对一查询

来源:互联网 发布:离开以后网络歌手 编辑:程序博客网 时间:2024/05/21 00:47

1. BlogDao.java

 

package pht.mybatis.dao;import java.util.List;import pht.mybatis.pojo.Blog;public interface BlogDao {public List getBlog(int id);//查询多个数据时候,返回类型应该是Listpublic void addBlog(Blog b);}

2. BlogDao.xml

 

<?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="pht.mybatis.dao.BlogDao"><resultMap type="Blog" id="blog"><association property="user" select="getUser" column="user" javaType="Person"></association></resultMap>  <select id="getBlog" resultMap="blog">    select * from blog where user = #{bid}  </select>  <select id="getUser" resultType="Person">    select * from person where personid=#{bid}  </select></mapper>
3.pojo
package pht.mybatis.pojo;public class Blog {private int bid;private String title;private Person user; //这里体现了实体类的关系public int getBid() {return bid;}public void setBid(int bid) {this.bid = bid;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public Person getUser() {return user;}public void setUser(Person user) {this.user = user;}}


4. 测试类
  package pht.mybatis.test;import java.io.IOException;import java.io.Reader;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Properties;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 pht.mybatis.dao.*;import pht.mybatis.pojo.*;import pht.mybatis.sessionfactory.Sessionfactory;/** * myBatis数据库连接测试 *  */public class MyBatisTest {    private static SqlSession sqlSession;public static void main(String[] args) {sqlSession=Sessionfactory.SQLSESSIONFACTORY.getSessionFactory().openSession();MyBatisTest test=new MyBatisTest();try{  BlogDao blogdao=sqlSession.getMapper(BlogDao.class);  List blogs=blogdao.getBlog(4);for(Iterator it=blogs.iterator();it.hasNext();){Blog blog=(Blog) it.next();System.out.println(blog.getTitle()+":"+blog.getUser().getName());}  }catch (Exception e) {// TODO: handle exception}finally{sqlSession.close();}}}

                                             
0 0
原创粉丝点击