create table book ( bid int primary key auto_increment, bname varchar(20) );
create table category ( cid int primary key auto_increment, cname varchar(20) );
create table middle ( m_bid int, m_cid int, constraint fk_bid foreign key(m_bid) references book(bid), constraint fk_cid foreign key(m_cid) references category(cid) );
insert into category values (default,'java'); insert into category values (default,'c++'); insert into category values (default,'mysql'); insert into book values (default,'SQL技术'); insert into book values (default,'SSM+MySQL详解'); insert into book values (default,'C++和java对比'); insert into middle values (1,3); insert into middle values (2,1); insert into middle values (2,3); insert into middle values (3,2); insert into middle values (3,1);
public class Book {
private Integer bid;
private String bname;
public Integer getBid() {
return bid;
}
public void setBid(Integer bid) {
this.bid = bid;
}
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname == null ? null : bname.trim();
}
}
public class Book {
private Integer bid;
private String bname;
private List<Category> categories;
public Integer getBid() {
return bid;
}
public void setBid(Integer bid) {
this.bid = bid;
}
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname == null ? null : bname.trim();
}
public List<Category> getCategories() {
return categories;
}
public void setCategories(List<Category> categories) {
this.categories = categories;
}
}
select * from book b inner join middle m on b.bid=m.m_bid inner join category c on m.m_cid=c.cid
<?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="com.mybatis.dao.BookMapper" > <select id="queryAll"> </select> </mapper>
public interface BookMapper {
List<Book> queryAll();
}
<?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="com.mybatis.dao.BookMapper" > <resultMap type="com.mybatis.entity.Book" id="bookMap"> <id property="bid" column="bid" /> <result property="bname" column="bname" /> <collection property="categories" ofType="com.mybatis.entity.Category"> <id property="cid" column="cid" /> <result property="cname" column="cname" /> </collection> </resultMap> <select id="queryAll" resultMap="bookMap"> select * from book b inner join middle m on b.bid=m.m_bid inner join category c on m.m_cid=c.cid </select> </mapper>
public class MyMain {
public static void main(String[] args) throws IOException {
String resource = "mybatis-config.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = factory.openSession();
BookMapper bookMapper = session.getMapper(BookMapper.class);
for (Book book : bookMapper.queryAll()) {
System.out.print("["+book.getBname()+"]");
for(Category category :book.getCategories()){
System.out.print(category.getCname()+"\t");
}
System.out.println("\n");
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有