MyBatis的資料庫操作入門(五)
UserMapper.java新增一個方法
package cn.bdqn.dao; import java.util.List; import java.util.Map; import cn.bdqn.pojo.User; public interface UserMapper { List<User> getUserList(); List<User> getUserLikeUserName(String userName); //模糊查詢 List<User> getUserLikeUserNameAndUserRole(User user); List<User> getUserByMap(Map<String,Object> map); }
UserMapper.xml新增一個select
<?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="cn.bdqn.dao.UserMapper"> <select id="getUserList" resultType="cn.bdqn.pojo.User"> Select * from smbms_user </select> <select id="getUserLikeUserName" parameterType="String" resultType="user"> select * from smbms_user where userName like concat('%',#{userName},'%') </select> <select id="getUserLikeUserNameAndUserRole" parameterType="user" resultMap="userList"> select u.*,r.roleName from smbms_user u,smbms_role r where r.id=u.userRole and userRole=#{userRole} and userName like concat('%',#{userName},'%') </select> <resultMap type="user" id="userList"> <id column="id" property="id"/> <result column="userName" property="userName" /> <result column="userCode" property="userCode" /> <result column="roleName" property="userRoleName" /> </resultMap> <select id="getUserByMap" parameterType="map" resultType="user"> select * from smbms_user where userRole=#{userRole} and userName like concat('%',#{userName},'%') </select> </mapper>
實體類程式碼:
package cn.bdqn.test; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import cn.bdqn.dao.UserMapper; import cn.bdqn.pojo.User; import cn.bdqn.util.MyBatisUtil; public class Test { /*private static Logger logger = Logger.getLogger("Test");*/ public static void main(String[] args) { //getUserCount(); //getUserList(); //getUserByName(sqlSession); //getUserLikeNameAndRole(sqlSession); SqlSession sqlSession = MyBatisUtil.getSqlSession(); Map<String,Object> map=new HashMap<String,Object>(); map.put("userRole", 3); map.put("userName", "孫"); List<User> users = sqlSession.getMapper(UserMapper.class).getUserByMap(map); for (User user1 : users) { System.out.println(user1); } MyBatisUtil.closeSession(sqlSession); } /* private static void getUserLikeNameAndRole(SqlSession sqlSession) { User user=new User(); user.setUserName("孫"); user.setUserRole(3); List<User> users = sqlSession.getMapper(UserMapper.class).getUserLikeUserNameAndUserRole(user); for (User user1 : users) { System.out.println(user1); } MyBatisUtil.closeSession(sqlSession); }*/ /* private static void getUserByName(SqlSession sqlSession) { List<User> users = sqlSession.getMapper(UserMapper.class).getUserLikeUserName("孫"); for (User user : users) { System.out.println(user); } MyBatisUtil.closeSession(sqlSession); }*/ /* public static void getUserList(){ SqlSession session = MyBatisUtil.getSqlSession(); //繫結Mapper介面 List<User> userList = session.getMapper(UserMapper.class).getUserList(); for (User user : userList) { logger.debug("使用者:" + user); } MyBatisUtil.closeSession(session); }*/ /* private static void getUserCount() { SqlSession session = MyBatisUtil.getSqlSession(); // 呼叫mapper檔案進行資料操作 int count = session.selectOne("cn.bdqn.dao.UserMapper.count"); logger.debug("使用者數量是:" + count); MyBatisUtil.closeSession(session); }*/ }
執行時候把mybatis-config.xml中的
<setting name="autoMappingBehavior" value="NONE"/>註釋掉,這樣資訊多點
執行結果:
[DEBUG] 2018-09-29 23:43:38,684 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Opening JDBC Connection
[DEBUG] 2018-09-29 23:43:38,907 org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 1182320432.
[DEBUG] 2018-09-29 23:43:38,908 cn.bdqn.dao.UserMapper.getUserByMap - ooo Using Connection [[email protected]]
[DEBUG] 2018-09-29 23:43:38,909 cn.bdqn.dao.UserMapper.getUserByMap - ==> Preparing: select * from smbms_user where userRole=? and userName like concat('%',?,'%')
[DEBUG] 2018-09-29 23:43:38,940 cn.bdqn.dao.UserMapper.getUserByMap - ==> Parameters: 3(Integer), 孫(String)
User [address=北京市朝陽區管莊新月小區12樓, birthday=Sun Jan 04 00:00:00 CST 1981, createdBy=1, creationDate=Wed May 06 10:52:07 CST 2015, gender=2, id=10, modifyBy=null, modifyDate=null, phone=13387676765, userCode=sunlei, userName=孫磊, userPassword=0000000, userRole=3, userRoleName=null]
User [address=北京市朝陽區建國門南大街10號, birthday=Sun Mar 12 00:00:00 CST 1978, createdBy=1, creationDate=Wed Nov 09 16:51:17 CST 2016, gender=2, id=11, modifyBy=null, modifyDate=null, phone=13367890900, userCode=sunxing, userName=孫興, userPassword=0000000, userRole=3, userRoleName=null]
[DEBUG] 2018-09-29 23:43:38,998 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [[email protected]]
[DEBUG] 2018-09-29 23:43:38,999 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Closing JDBC Connection [[email protected]]
[DEBUG] 2018-09-29 23:43:38,999 org.apache.ibatis.datasource.pooled.PooledDataSource - Returned connection 1182320432 to pool.
相關推薦
MyBatis的資料庫操作入門(五)
UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import cn.bdqn.pojo.User; public interface Use
MyBatis的資料庫操作入門(二)
前面寫了個實體類,不過沒有用到,下面我想列印smbms_user表的所有資訊 還是原來那個專案,在這裡有個問題,比如你要食物,就要建造一次工廠(工廠是用完就摧毀)來生產,那這樣就很麻煩了,每要一次食物就要建造一次工廠 下面我們可以把工廠封裝起來,放到工具類util裡面,以
MyBatis的資料庫操作入門(八)
修改密碼 UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Para
MyBatis的資料庫操作入門(七)
修改 UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import cn.bdqn.pojo.User; public interface
MyBatis的資料庫操作入門(九)
刪除 UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param;
Spring Boot快速入門(五):使用MyBatis(註解形式)進行資料庫操作
新增依賴 新建專案選擇web,MyBatis,MySQL三個依賴 對於已存在的專案可以在bulid.gradle加入,spring boot將會幫你自動配置好 compile('org.springframework.boot:spring-boot-sta
Spring Boot快速入門(五):使用MyBatis(註解形式)進行數據庫操作
訪問 ins name ont clas assert xxx main apach 原文地址:https://lierabbit.cn/articles/7 添加依賴 新建項目選擇web,MyBatis,MySQL三個依賴 對於已存在的項目可以在bulid.gradle
mybatis入門(五)之Java API
Java API 既然你已經知道如何配置 MyBatis 和建立對映檔案,你就已經準備好來提升技能了。MyBatis 的 Java API 就是你收穫你所做的努力的地方。正如你即將看到的,和 JDBC 相比,MyBatis 很大程度簡化了你的程式碼並保持程式碼簡潔,容易
JavaWeb從新手到入門(五)Spring Mybatis EasyUI實現商品列表
參考:《傳智播客-淘淘商城》 一、商品列表功能 商品列表功能是後端維護購物網站的商品的功能,提供了顯示、新增、編輯、刪除、下架和上架功能,顯示如下: 二、顯示功能的實現 開啟查詢商品後,後端首先按照分頁刷新出商品的資訊,因此顯示功能是第一步。 2.1 前端程式碼實現 前端
scala語言入門(五)操作外部資料 及 專案實戰
一、scala 操作本地檔案,網路url import scala.io.Source object FileApp { def main(args: Array[String]): Unit = { val file = Source.fromFile("D:/HostKey
python爬蟲入門(五)Selenium模擬使用者操作
爬蟲(Spider),反爬蟲(Anti-Spider),反反爬蟲(Anti-Anti-Spider) 之間恢巨集壯闊的鬥爭... 小莫想要某站上所有的電影,寫了標準的爬蟲(基於HttpClient庫),不斷地遍歷某站的電影列表頁面,根據 Html 分析電影名字存進自己的資料庫。 這個站
Node.JS入門(五)——後臺接收頁面引數並儲存到資料庫
前言 在學習了nodejs和資料庫mysql互動的情況下,我們來學習一下如何從頁面上獲取引數然後存放到資料庫中,這種方式通常有兩種,一種是get方式,一種是post方式 內容 背景 本篇的主要場景是獲取註冊中的使用者名稱和密碼,然後儲存到資
Net Core 學習入門(五)----------使用EF連結資料庫
由於netcore2.0集成了Ef,所以我們使用Ef的時候配置一下就行了。1,配置資料庫連結appsetting.json{ "Logging": { "IncludeScopes": false, "LogLevel": {
Hibernate入門(五)
brush cti ride pack ng- gin import source builds 一 Hibernate繼承映射 我們可以將繼承層次結構類與數據庫的表映射。 1. 每個層次類一張表 這個層次結構有三個類,Employee是Regular_Employ
canvas入門(五)
疊加 ans sla idt 分享 com 位移 res gree canvas一樣可以使用圖形變換。 位移,translate(x, y); 旋轉:retate(deg); 縮放:scale(sx,sy); 但這個過程有個陷阱,如 canvas.width =
cesium編程入門(五)繪制形狀
cnblogs eve acf gem 場景 編程入門 host 元素 pos 通過Entity添加形狀 先來看一個添加立方體的例子 var viewer = new Cesium.Viewer(‘cesiumContainer‘); var redBox = **view
SCCM 2016 使用PXE 部署操作系統(五)
mage process sta wds 序列 客戶端安裝 啟動服務 開始 proc 今天我們來測試一下上四篇文章我們配置完成的 SCCM PXE 推送操作系統的配置是否起效。順便提及一下可能出現的問題。首先,我們需要配置我們的DHCP服務器,從而將PXE功能指向到我們的S
python入門(五)函數的定義
函數 高階函數 python中函數的定義以def開頭,後面跟函數定義的名稱和())‘括號中定義參數’ 以冒號開始,並且進行縮放,return結束如: def hello (ming): print ming return 傳遞參數: ming=[1,2,3]m
Python3入門(五)——函數式編程
rabl rom pytho 介紹 計算 並且 span 但是 pan 一、高階函數 1.可以通過變量指向函數,達到類似別名的效果: >>> f = abs >>> f(-10) 10 2.函數的參數可以是函數,
MyBatis的動態SQL(五)
pan 需要 9.png ack bat 鏈接 where In 標簽 用於實現動態SQL的元素主要有iftrimwheresetchoose(when、otherwise)foreach if標簽 Where標簽 Sql後面添加: where 1=1 ,那