1. 程式人生 > >mybatis01(配置檔案實現一對一的增刪改查)

mybatis01(配置檔案實現一對一的增刪改查)

這時web.xml不需要配置

1.javaBean

package com.bean;

public class User {

 private Integer id;
 private String username;
 private String password;
 private Integer phone;
 public Integer getId() {
  return id;
 }
 public void setId(Integer id) {
  this.id = id;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 public Integer getPhone() {
  return phone;
 }
 public void setPhone(Integer phone) {
  this.phone = phone;
 }
 
}

2.log4j.properties

# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...
log4j.logger.com.mapper=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

3.mybatis配置檔案

<?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">
    <!--1.配置環境 ,預設的環境id為mysql-->
 <configuration>
 
  <!-- 1.指定mybatis所用日誌的具體實現 -->
  <settings>
   <setting name="logImpl" value="LOG4j"/>
   <!-- 設定二級快取配合UserMapper.xml的<cache/>標籤 -->
   <!-- <setting name="cacheEnabled" value="true"/> -->
  </settings>
  <!-- 起別名  -->
  <typeAliases>
   <typeAlias type="com.bean.User" alias="User"/>
   <!-- 自動在包名下搜尋javabean並起別名為 類名的首字母小寫 -->
   <!--  <package name="com.bean"/> -->
  </typeAliases>
  <!--2.配置環境 ,預設的環境id為mysql-->
  <environments default="mysql">
   <!--2.2.配置id為mysql的資料庫環境 -->
   <environment id="mysql">
    <!-- 2.2.1使用JDBC的事務管理   使用了JDBC的提交和回滾設定-->
    <transactionManager type="JDBC"></transactionManager>
    <!--2.2.2資料庫連線池   POOLED是JDBC連線物件的資料來源連線池的實現 -->
    <dataSource type="POOLED">
     <property name="driver" value="com.mysql.jdbc.Driver"/>
     <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
     <property name="username" value="root"/>
     <property name="password" value="123456"/>
    </dataSource>
   </environment>
  </environments>
  
  <!--3.配置Mapper的位置 -->
  <mappers>
   <mapper resource=""/>
   <!-- 使用本地檔案 -->
   <!-- <mapper url="file:///D:/java/workspaces/mybatis0/src/com/mapper/UserMapper.xml"/> -->
  </mappers>
 </configuration>

4.資料庫操作的配置檔案

<?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">
<!-- namespace表示名稱空間
 程式程式碼訪問檔案是通過namespace完成的,包名+檔名命名
-->
<mapper namespace="com.mapper.UserMapper">
 <!-- 建立二級快取 LRU 移除最近最少使用的物件 flushInterval重新整理時間 60 秒  size快取數目 readOnly只讀-->
 <!-- <cache eviction="LRU" flushInterval="60000" size="512" readOnly="true"/> -->
 <insert id="addUser" parameterType="User">
  insert into user(username, password, phone) values
  (#{username}, #{password}, #{phone})
 </insert>
 
 <delete id="deleteUser" parameterType="Integer">
  delete from user where id=#{id}
 </delete>
 
 <update id="updateUser" parameterType="com.bean.User">
  update user set username=#{username} where id=#{id}
 </update>
 
 <!-- 通過使用resultmap進行資料庫表和返回值型別的對映,id屬性代表主鍵,result屬性代表普通列 -->
 <resultMap type="com.bean.User" id="userResultMap">
  <id property="id" column="id"/>
  <result property="username" column="username"/>
  <result property="password" column="password"/>
  <result property="phone" column="phone"/>
 </resultMap>
 <select id="selectUser2" resultMap="userResultMap">
  select * from user
 </select>
 
 <select id="selectUser" parameterType="Integer" resultType="com.bean.User">
  select * from user where id=#{id}
 </select>
 
 <select id="selectUserByName" parameterType="String" resultType="com.bean.User">
  select * from user where username like '%${value}%'<!-- 這種方式必須是${value} -->
  <!-- select * from user where username like "%"#{username}"%" -->
  <!-- select * from user where username like concat("%",#{username},"%") -->
 </select>
 
 <select id="selectUserForMap" resultType="com.bean.User">
  select * from user
 </select>
</mapper>

5.增

package com.test;

import java.io.IOException;
import java.io.InputStream;

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.apache.tools.ant.types.CommandlineJava.SysProperties;
import org.junit.Test;

import com.bean.User;

public class Test1 {

 @Test
 public void add() throws IOException {
  
  //第一步 讀取配置檔案mybatis-config.xml
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  //第二步 建立會話工廠
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  //第三步 生成會話
  SqlSession session = sessionFactory.openSession();
  
  User user=new User();
  user.setUsername("哈哈");
  user.setPassword("123456");
  user.setPhone(110);
  
  //第一個引數要定位到執行的 SQL語句,通過namesapce+sql的id
  int i=session.insert("com.mapper.UserMapper.addUser",user);
  
  if(i>0)
   System.out.println("插入成功");
  else
   System.out.println("插入失敗");
  session.commit();
  
  session.close();
 }
}

6.刪

package com.test;

import java.io.IOException;
import java.io.InputStream;

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.junit.Test;

public class Test2 {

 @Test
 public void delete() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  SqlSession session = sessionFactory.openSession();
  
  int i=session.delete("com.mapper.UserMapper.deleteUser", 2);
  
  if(i>0)
   System.out.println("刪除成功");
  else
   System.out.println("刪除失敗");
  session.commit();
  session.close();
 }
}

7.改

package com.test;

import java.io.IOException;
import java.io.InputStream;

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.junit.Test;

import com.bean.User;

import javassist.expr.NewArray;

public class Test3 {

 @Test
 public void update() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  SqlSession session = sessionFactory.openSession();
  
  User user=new User();
  user.setId(4);
  user.setUsername("二狗子");
  int i=session.update("com.mapper.UserMapper.updateUser", user);
  
  if(i>0)
   System.out.println("修改成功");
  else
   System.out.println("修改失敗");
  session.commit();
  session.close();
 }
 
}



8.查

package com.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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.junit.Test;

import com.bean.User;
import com.mysql.fabric.xmlrpc.base.Value;

public class Test4 {

 @Test
 public void select() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  SqlSession session = sessionFactory.openSession();
  
  User user=session.selectOne("com.mapper.UserMapper.selectUser",2);
  System.out.println(user.getId());
  System.out.println(user.getUsername());
  System.out.println(user.getPassword());
  System.out.println(user.getPhone());
 }
 @Test
 public void select2() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  SqlSession session = sessionFactory.openSession();
  
  User user=session.selectOne("com.mapper.UserMapper.selectUser2");
  System.out.println(user.getId());
  System.out.println(user.getUsername());
  System.out.println(user.getPassword());
  System.out.println(user.getPhone());
 }
 @Test
 public void selectUserByName() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  SqlSession session = sessionFactory.openSession();
  
  List<User> users=session.selectList("com.mapper.UserMapper.selectUserByName","玉");
  for(User user:users)
  {
   System.out.print(user.getId()+"\t");
   System.out.print(user.getUsername()+"\t");
   System.out.print(user.getPassword()+"\t");
   System.out.println(user.getPhone());
  }
 }
 
 @Test
 public void selectUserForMap() throws IOException
 {
  InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
  SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  SqlSession session = sessionFactory.openSession();
  
  Map<User, Object> map=new HashMap<User, Object>();
  map=session.selectMap("com.mapper.UserMapper.selectUserForMap",null);
  for(User user:map.keySet())
  {
   System.out.print(user.getId()+"\t");
   System.out.print(user.getUsername()+"\t");
   System.out.print(user.getPassword()+"\t");
   System.out.println(user.getPhone());
  }
 }
}

相關推薦

mybatis01配置檔案實現一對一刪改

這時web.xml不需要配置 1.javaBean package com.bean; public class User {  private Integer id;  private String username;  private String pas

動態實現對數據庫的刪改

info time ace print count inter author 重復 obj 當我們對數據庫進行操作時,通常會定義一個接口類,然後定義很多的實現類來實現這個接口的所有方法,這樣就會產生很多的實現類出來,增加了代碼的冗余度,所以我們可以通過 動態代理模式來動態生

hibernate配置檔案解釋以及刪改

配置檔案 hibernate核心配置檔案hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibe

Hibernate5配置實現簡單刪改

1、 建立專案(java專案) 2、建立lib資料夾,在lib中匯入相關jar包(Hibernate10個,MySQL 1個),然後右鍵buildpath 3、編寫hibernate.cfg.xml配置檔案,(src目錄下) <hibernate-configura

對xml檔案的sax解析刪改

  crud(增刪改查): c:creat r:retrieve u:update d:delete 以下筆記來自於韓順平老師的講解。 現在是用java來操作。 第一步:新建java工程。file-new-Java Project,輸入工程的名字,點選finish. 第二步:放

如何實現最基本的課程管理系統程式庫的刪改

  一直在聽建民老師說,javaweb的精髓是Jsp+servlet+javabean。在完成這個系統之前,畢竟沒有學習過javaweb,Jsp和servlet我是知道的,但不會在servlet和jsp之間相互傳值以及應用,javabean是一點沒有聽說過。在這樣的基礎下,沒辦法逃脫測試的情況下,只能硬著頭皮

如何實現最基本的課程管理系統程序庫的刪改

bilibili rtb styles cat 希望 driver 管理 代碼 all   一直在聽建民老師說,javaweb的精髓是Jsp+servlet+javabean。在完成這個系統之前,畢竟沒有學習過javaweb,Jsp和servlet我是知道的,但不會在ser

Java之DOM4J解析XML 實現 XML檔案資料的刪改方法

下面是我的Persons.xml檔案資料 <?xml version="1.0" encoding="utf-8"?> <persons> <person id="0"> <name>翠花</name>

EF三層構架+介面實現刪改

DbContext   DbContext是EntityFramework很重要的部分,連線域模型與資料庫的橋樑,是與資料庫通訊的主要類。   DbContext主要負責以下活動: EntitySet::DbContext包含了所有對映到表的entities

Mybatis 學習筆記——使用Mapper代理的方式實現資料刪改

一、介紹   Mapper代理的方式只需要程式設計師編寫 Mapper.xml 檔案及 Mapper介面。   本文是基於上一篇文章:Mybatis 學習筆記——原生DAO實現資料增刪改查,所以接下來的內容是以其為基礎的,如果有什麼不懂的請留言或檢視上一篇。所

基於SpringMVC的檔案刪改上傳、下載、更新、刪除

一、專案背景    摘要:最近一直在忙著專案的事,3個專案過去了,發現有一個共同的業務,那就是附件的處理,附件包括各種文件,當然還有圖片等特殊檔案,由於時間的關係,每次都是匆匆忙忙的搞定上線,稱這專案的空檔,整理了一份附件上傳、下載、刪除的專案,主要就是附件的處理,情況包含以下幾種:   1. 表單個附件共存

用java實現對MongoDB的基本操作刪改

準備工作:要想用java實現對MongoDB的增刪改查,首先需要下載mongo的java驅動,mongo-java-driver-3.2.2, 下載地址:https://oss.sonatype.org/content/repositories/releases/org/m

mongodb的簡單使用二結合springdata實現刪改

          package com.glgd.recarticle.dao; import java.util.ArrayList; import java.util.List; import org.springframework.data.mongodb.core.query.Criteria

使用JDBC實現簡單的寵物系統刪改

BaseDao類(jdbc實現資料庫連線,增刪改查功能) package dao2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

02 mybatis動態sqlxml方式實現單表的刪改

QueryVo   package cn.itcast.domain; import java.io.Serializable; import java.util.List; public class QueryVo implements Serial

基於ajax的三層,實現資料庫刪改基礎一DAL

  三層的組成就是DAL,BLL,UI層和Model層。其中的DAL層是與資料庫連結,需要引用Model層,進行對資料的操作,但我們一般在此層不進行資料的處理。BLL層負責引用DAL和MODEL層,在

C# FTP釋出檔案/資料夾至伺服器刪改

C#使用FTP釋出檔案或資料夾 一、選擇一個已有的ftp站點,要求已知登入資訊。如果沒有,則本地新增ftp站點,具體新增ftp站點的教程如下,百度上有很多類似教程: https://jingyan.baidu.com/article/dca1fa6f4794

MyEclipse整合SSM框架:Mybatis逆向工程配置以及dao層刪改測試

說明:專案工程採用 maven 管理,maven 工程的建立參見:           https://blog.csdn.net/weixin_38533896/article/details/797

JqueryEasyUI實現CRUD刪改操作

per queryall call .get field string cal upd wid 1.代碼介紹: 前端界面由jsp,JqueryEasyUI制作,後臺代碼由Servlet實現邏輯操作 註:JqueryEasyUI的庫文件和其他自己jar包自己導入。Jquery

WebFormLinq刪改

sub dir 類名 hide 輸入 tex redirect dbm 驗證 一、Linq: 高集成化的數據訪問類,它會自動映射數據庫結構,將表名完整映射成為類名,將列名完整映射成字段名 (1)Linq創建添加LINQ to SQL類,類名需與要連接的數據庫名一樣 Linq