国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

Mybatis(五) resultType 多表查詢 (包裝類)

2024-04-27 15:18:52
字體:
來源:轉載
供稿:網友

查看這張時必須有上一張的基礎

這里使用了包裝類,將多個表查詢數來的復雜結果存儲在包裝類中返回回來

CREATE DATABASE my_db;CREATE TABLE user( id INT(11) PRIMARY KEY AUTO_INCREMENT, parentId INT(11), sonId INT(11), name VARCHAR(255), birthday DATE )DEFAULT CHARSET=utf8;CREATE TABLE `orders` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `userId` INTEGER NOT NULL, `create` DATETIME DEFAULT NULL, `detailId` INTEGER DEFAULT NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8;

目錄結構。 這里寫圖片描述

這里我新創建了:

Orders.java : Orders對象。OrdersCustem.java: Order包裝對象。 (重點)OrderDao.java : 數據接口 OrderDao.xml: mapper映射文件。(重點)

OrdersCustem對象和OrderDao 必須一一對應。

代碼如下: OrdersCustem.java:

package com.zll.mybatis.bean;import java.util.Date;public class OrderCustem extends Orders{ private String username; private Date userBirthday; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getUserBirthday() { return userBirthday; } public void setUserBirthday(Date userBirthday) { this.userBirthday = userBirthday; } @Override public String toString() { return "OrderCustem [username=" + username + ", userBirthday=" + userBirthday + ", getId()=" + getId() + ", getDetailId()=" + getDetailId() + ", getCreate()=" + getCreate() + ", getUserId()=" + getUserId() + "]"; }}

OrderDao.java :

package com.zll.mybatis.dao;import com.zll.mybatis.bean.OrderCustem;public interface OrderDao { public List<OrderCustem> findOrderById() throws Exception;}

OrderDao.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="com.zll.mybatis.dao.OrderDao"> <!-- 模糊查詢 ${}符號表示sql使用拼接方式,這樣會參數sql注入露點,所以大家要注意 --> <select id="findOrderById" resultType="com.zll.mybatis.bean.OrderCustem"> select orders.*,user.name username,user.birthday userBirthday from orders,user where orders.userId = user.id; </select></mapper>

測試代碼:

/** * Unit test for simple App. */public class TestResultTypeMap extends TestCase { SqlsessionFactory sqlSessionFactory; @Override protected void setUp() throws Exception { super.setUp(); String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public void findOrderById() throws Exception { SqlSession openSession = sqlSessionFactory.openSession(); OrderDao mapper = openSession.getMapper(OrderDao.class); List<OrderCustem> findOrderById = mapper.findOrderById(); for(int i=0; i<findOrderById.size(); i++){ System.out.println(findOrderById.get(i)); } openSession.close(); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岑巩县| 印江| 通州市| 邳州市| 泸西县| 汉中市| 永泰县| 固阳县| 新巴尔虎右旗| 金华市| 轮台县| 上虞市| 肃宁县| 布尔津县| 乐亭县| 太仆寺旗| 阿拉善右旗| 内乡县| 闻喜县| 文山县| 南雄市| 玉树县| 平阴县| 紫云| 平谷区| 铜陵市| 德格县| 新竹县| 逊克县| 耒阳市| 大足县| 新和县| 响水县| 灯塔市| 昌都县| 栾川县| 阳西县| 东乡| 东丽区| 基隆市| 泊头市|