MyBatis的資料庫操作入門(九)
刪除
UserMapper.java新增一個方法
package cn.bdqn.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; 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); int add(User user); int update(User user); int updatePassword(@Param("id")Long id,@Param("newPassword")String newPassword); int delete(Long id); }
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> <insert id="add" parameterType="user"> INSERT INTO smbms_user ( `userCode`, `userName`, `userPassword`, `gender`, `birthday`, `phone`, `address`, `userRole`, `createdBy`, `creationDate`) VALUES( #{userCode}, #{userName}, #{userPassword}, #{gender}, #{birthday}, #{phone}, #{address}, #{userRole}, #{createdBy}, #{creationDate}) </insert> <update id="update" parameterType="user"> UPDATE `smbms_user` SET `userCode`=#{userCode}, `userName`=#{userName}, `userPassword`=#{userPassword}, `gender`=#{gender}, `birthday`=#{birthday}, `phone`=#{phone}, `address`=#{address}, `userRole`=#{userRole}, `modifyBy`=#{modifyBy}, `modifyDate`=#{modifyDate} WHERE id=#{id} </update> <update id="updatePassword"> UPDATE `smbms_user` SET `userPassword`=#{newPassword} WHERE id=#{id} </update> <delete id="delete" parameterType="long"> delete from smbms_user where id=#{id} </delete> </mapper>
實體類程式碼:
package cn.bdqn.test; import java.util.Date; 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); //getUserByMap(sqlSession); SqlSession sqlSession = MyBatisUtil.getSqlSession(); //增加 //User user=new User(17L, "andy", "劉德華", "1234567", 1, "13422369777", "HK", new Date(), 2, null, null, 1, new Date()); //int count = sqlSession.getMapper(UserMapper.class).add(user); //修改 //User user=new User(17L, "andy", "陳大錘", "1234567", 1, "13422369777", "HK", new Date(), 2, null, null, 1, new Date()); //int count = sqlSession.getMapper(UserMapper.class).update(user); //修改密碼 //int count = sqlSession.getMapper(UserMapper.class).updatePassword(17L, "0000000"); //刪除 int count = sqlSession.getMapper(UserMapper.class).delete(17L); sqlSession.commit(); System.out.println("刪除了"+count+"條資料!"); MyBatisUtil.closeSession(sqlSession); } /* private static void getUserByMap(SqlSession sqlSession) { 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); } }*/ /* 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); }*/ }
執行結果如下:
[DEBUG] 2018-09-30 00:16:27,395 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Opening JDBC Connection
[DEBUG] 2018-09-30 00:16:27,658 org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 2015601401.
[DEBUG] 2018-09-30 00:16:27,658 cn.bdqn.dao.UserMapper.delete - ooo Using Connection [[email protected]]
[DEBUG] 2018-09-30 00:16:27,658 cn.bdqn.dao.UserMapper.delete - ==> Preparing: delete from smbms_user where id=?
[DEBUG] 2018-09-30 00:16:27,705 cn.bdqn.dao.UserMapper.delete - ==> Parameters: 17(Long)
[DEBUG] 2018-09-30 00:16:27,784 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Committing JDBC Connection [[email protected]]
刪除了1條資料!
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Resetting autocommit to true on JDBC Connection [[email protected]]
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.transaction.jdbc.JdbcTransaction - Closing JDBC Connection [[email protected]]
[DEBUG] 2018-09-30 00:16:27,863 org.apache.ibatis.datasource.pooled.PooledDataSource - Returned connection 2015601401 to pool.
資料庫:
相關推薦
MyBatis的資料庫操作入門(九)
刪除 UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param;
MyBatis的資料庫操作入門(二)
前面寫了個實體類,不過沒有用到,下面我想列印smbms_user表的所有資訊 還是原來那個專案,在這裡有個問題,比如你要食物,就要建造一次工廠(工廠是用完就摧毀)來生產,那這樣就很麻煩了,每要一次食物就要建造一次工廠 下面我們可以把工廠封裝起來,放到工具類util裡面,以
MyBatis的資料庫操作入門(五)
UserMapper.java新增一個方法 package cn.bdqn.dao; import java.util.List; import java.util.Map; import cn.bdqn.pojo.User; public interface Use
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
Excel VBA入門(九)操作工作薄
數據 () rate param 環境 clas filename 只有一個 循環 雖然我前面講過,在VBA中操作工作薄並不是件明智的事,但有些時候,還是避免不了要這麽做。絕大多數情況下,我們要做的是獲取到某個工作薄對象,並以此來獲得其中的工作表對象,然後再對工作表中的數據
11-Linux基礎入門(九)-Linux的通配符
cal echo 微信公眾平臺 當前 技術分享 vertical hub font not 一、概述Linux的通配符和正則表達式是不一樣的,因此代表的意義也是有較大區別的。通配符一般用於用戶命令行bash環境,而Linux正則表達式用於grep、sed、awk場景。符號代
python入門(九)常用模塊
模塊python的常用模塊很多比如日誌模塊logging調用日誌模塊 import logging 級別高低順序: DEBUG < INFO < WARNING < ERROR < CRITICAL默認從warning以後包含warning開始打印如果想打印全面,可以調整默認的模版 i
資料庫視訊總結(九)——自動化
這是資料庫視訊第十三章所述——自動化,自動化為sql帶來很大的便利,更能給程式設計師帶來很大的便捷,首先就讓我們來了解一下自動化吧: SQL自動化概述 功能: 很多管理任務都可以設定成自動化來實現,主要包括以下方面: 1、Tsql語句 2、作業系統命令 3、指令碼語言
wxWidget入門(九)
這一期做一個簡易畫板 帶有功能: 畫直線 Undo Redo 儲存圖片 回顧上一期的內容,畫畫是用滑鼠拖動時間,不斷追蹤滑鼠位置,進而畫出斷續的點,缺點明顯。 先把上一期問題解決,解決思路:利用短直線將上一次獲取的滑鼠位置,和這一次連線起來。 ①畫出直
java多執行緒快速入門(九)
多執行緒安全問題(賣火車票案例) package com.cppdy; class MyThread5 implements Runnable{ private Integer ticketCount=100; @Override public void run() {
Python入門(九)函式與模組
Python 函式 定義一個函式 你可以定義一個由自己想要功能的函式,以下是簡單的規則: 函式程式碼塊以 def 關鍵詞開頭,後接函式識別符號名稱和圓括號()。 任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。 函式的第一行語句可以選擇性地使
CI框架資料庫操作方法(參考)
<?php class demo_model extends CI_Model { public function __construct() { $this->load->database(); } //查詢例項 public function select
資料庫學習筆記(九)
本章理論性較強,晦澀難懂部分本人已做簡單敘述,如有理解不到位之處,還請指出,謝謝 一.資料庫規範性設計 為了避免資料庫一致性問題,因此需要進行資料庫規範性設計。需要滿足三大理論: 資料依賴理論 關係正規化理論 模式分解理論 二.函
Swift入門(九)——String與Int、Double、Float等數字相互轉換
Swift的三種轉換模式 在Swift裡面,Int、float、double等數字型別自成一派,但它們和String型別之間的轉換總是不太方便,這裡總結一下它們相互轉換的方法。總結下來一共有三種轉換模式,分別舉例說明。 一、String轉數字 這裡以S
資料庫學習總結(九)——檢視
文章目錄 檢視的定義 建立檢視 修改檢視 檢視檢視 更新檢視 刪除檢視 檢視的定義 檢視是一種虛擬存在的表,對於使用檢視的使用者來說基本上是透明的。檢視並不在資料庫中實際存在,行和列資料來自定義檢視的查詢總使用的表,並
Flask Web開發入門(九)之表單處理
本章我們介紹Flask Web開發中的表單處理 application/json型別請求 前臺請求程式碼: $.ajax({ u
【mybatis學習之入門(一)】
前言: 從開始的JDBC經歷dbuttls,mybatis,Hebernate,JDBC是最熟悉不過的了,JDBC提供了一種基準,據此可以構建更高階的工具和介面,使資料庫開發人員能夠編寫
SpringCloud SpringBoot mybatis 分散式微服務(九)Spring Boot中使用Spring-data-jpa讓資料訪問更簡單
然而,在實際開發過程中,對資料庫的操作無非就“增刪改查”。就最為普遍的單表操作而言,除了表和欄位不同外,語句都是類似的,開發人員需要寫大量類似而枯燥的語句來完成業務邏輯。為了解決這些大量枯燥的資料操作語句,我們第一個想到的是使用ORM框架,比如:Hibernate。通過整合H
NLP入門(九)詞義消岐(WSD)的簡介與實現
詞義消岐簡介 詞義消岐,英文名稱為Word Sense Disambiguation,英語縮寫為WSD,是自然語言處理(NLP)中一個非常有趣的基本任務。 那麼,什麼是詞義消岐呢?通常,在我們的自然語言中,不管是英語,還是中文,都有多義詞存在。這些多義詞的存在,會讓人對句子的意思產生混淆,但人通過學習