MyBatis筆記----Mybatis3.4.2與spring4整合:增刪查改

来源:http://www.cnblogs.com/tk55/archive/2017/04/05/6670155.html
-Advertisement-
Play Games

結構圖 剛之前沒什麼區別,多了一個applicationContext.xml 包圖 由於之前出了一點錯誤,有些包可能多加上了 資料庫圖 model User.java UserMapper.java xml UserMapper.xml mybatis-config.xml application ...


 

 

 

 

 

 

 

 

結構圖

剛之前沒什麼區別,多了一個applicationContext.xml

包圖

由於之前出了一點錯誤,有些包可能多加上了

資料庫圖

model

User.java

package com.ij34.model;

public class User {
  private int id;
  private String name;
  private int age;


  public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}
public String toString() {
    return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}


}

UserMapper.java

package com.ij34.model;


public interface UserMapper {
     
    public User selectUser(int id);
    public void insertUser(User user);
    public void updateUser(User user);
    public void deleteUser(String name);
}

 

xml

UserMapper.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.ij34.model.UserMapper">
  <select id="selectUser" parameterType="int" resultType="User">
    select * from users where id=#{id};
  </select>
    <update id="updateUser" keyProperty="id">
    update users set name=#{name},age=#{age} where id=#{id}
  </update>
  
  <insert id="insertUser" >
   insert into users(name,age)values(#{name},#{age})
  </insert>
  <delete id="deleteUser" >
    delete from users where name=#{name}
  </delete>

  </mapper>

 

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.ij34.model.User" alias="User"/>
</typeAliases>
<!--  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>  -->
  <mappers>
  <mapper resource="com/ij34/mybatis/UserMapper.xml"/>
<!--    <mapper class="com.ij34.model.UserMapper"/> -->
  </mappers>
</configuration>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd">
    <!-- Showcase's CustomFreemarkerManager example -->
  <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
     <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> 
     <property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property> 
     <property name="username" value="root"></property> 
     <property name="password" value="123456"></property> 
  </bean> 
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
      <property name="dataSource" ref="dataSource"></property>
      <property name="configLocation" value="com/ij34/mybatis/mybatis-config.xml"></property>
  </bean>
  <bean id="UserMapperFactory" class="org.mybatis.spring.mapper.MapperFactoryBean">
      <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
      <property name="mapperInterface" value="com.ij34.model.UserMapper"></property>
  </bean>
</beans>

測試

package com.ij34.bean;

import java.io.IOException;
//import java.io.InputStream;
//import java.util.List;
//
//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 org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.ij34.model.*;
public class Test {
public static void main(String[] args) throws IOException {
   @SuppressWarnings("resource")
ApplicationContext ac=new ClassPathXmlApplicationContext("com/ij34/mybatis/applicationContext.xml");
   UserMapper mapper=(UserMapper) ac.getBean("UserMapperFactory");
   User user=mapper.selectUser(3);  //查找
   System.out.println(user);
/*     User user=new User();
     user.setId(9);
     user.setName("小測01");
     user.setAge(22);
     mapper.insertUser(user);  //添加
     System.out.println(user);*/
/*    User user=mapper.selectUser(8);
    user.setName("大大A");
    user.setAge(28);
    mapper.updateUser(user);  //更改
    System.out.println(user);*/
 //  mapper.deleteUser("小測01");  //刪除
 //  System.out.println("已經刪除:小測01");
}
}

 

結果

添加

更改

 

 

刪除

---------多動手,少打字


 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 冒泡排序 思路分析:法如其名,就是像冒泡一樣,每次從數組當中 冒一個最大的數出來。 第一輪:從第一個到最後一個冒泡比較,運行結果:最後一個最大 第二輪:從第一個到倒數第二個冒泡比較, 運行結果:最後一個最大(當前輪的最後一個) 以此類推... 選擇排序 思路分析:每次選擇一個相應的元素,然後將其放到 ...
  • redis中set系列命令(包括set,hset等等),基本上都包括兩個版本,純粹的set和setnx, setnx即set not exist, 也就是只有Key不存在時才會執行set, 而不會覆蓋原有的值。 但是hmset這個命令,包括redis本身,jedis都沒有提供nx版本的支持。當然,h ...
  • 題目描述 給你一個長度為n的序列,讓你給這個序列從小到大排序。(n<=100000) 題目描述 給你一個長度為n的序列,讓你給這個序列從小到大排序。(n<=100000) 輸入 第一行一個整數n。 第二行n個整數,表示這個序列。 輸出 一行n個整數,表示排序好的序列。 輸入 第一行一個整數n。 第二 ...
  • 題目描述 給定一個只包含左右括弧的合法括弧序列,按右括弧從左到右的順序輸出每一對配對的括弧出現的位置(括弧序列以0開始編號)。 題目描述 給定一個只包含左右括弧的合法括弧序列,按右括弧從左到右的順序輸出每一對配對的括弧出現的位置(括弧序列以0開始編號)。 輸入 僅一行,表示一個合法的括弧序列。 輸出 ...
  • 10個非常有趣的Python實戰項目,帶你更好的學會在實際開發中應用Python ...
  • 1.創建項目之前首先要在myeclipse中配置maven,在window--perference中搜maven4下麵的usersettings,第一個框是maven安裝路徑,就是workspace那conf下邊setting.xml的路徑,第二個是本地倉庫.m2中setting.xml的路徑.第三 ...
  • PowerDesigner導出word,PowerDesigner把表導出到word,PDM導出word文檔 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年4月06日 http://www.cnblogs.com/fanshuyao/ 一、 ...
  • 上節 無springmvc框架 http://www.cnblogs.com/tk55/p/6661786.html 結構 jar包 web.xml 與index.jsp index.jsp spring-mvc.xml com.ij34.model com.ij34.mybatis UserMap ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...