Mybatis实现数据的增删改查

1、项目结构(使用maven创建项目)

2、App.java

 package com.GetcharZp.MyBatisStudy;

 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 com.GetcharZp.MyBatisStudy.dao.TradeDao;
import com.GetcharZp.MyBatisStudy.model.Trade; /**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
InputStream config = null;
try {
config = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(config);
SqlSession session = factory.openSession();
TradeDao tradeDao = session.getMapper(TradeDao.class); /*删除*/
tradeDao.deleteTrade(3);
session.commit(); // 删除要提交 /*查询*/
List<Trade> tradeList = tradeDao.selectTrade();
System.out.println(tradeList);
System.out.println(tradeList.size());
Trade trade = tradeDao.findById(2);
System.out.println(trade); // 日志里面有输出,但结果没有 /*插入*/
Trade InsertTrade = new Trade();
InsertTrade.setTradeId(4);
InsertTrade.setTradeName("毛笔");
InsertTrade.setTradePrice(5.6);
tradeDao.insertTrade(InsertTrade);
session.commit(); /*更新*/
Trade updateTrade1 = new Trade();
updateTrade1.setTradeName("watch");
updateTrade1.setTradePrice(520.1314);
tradeDao.updateTrade(3);
session.commit(); session.close(); } catch (IOException e) {
e.printStackTrace();
} finally {
if (config != null)
try {
config.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

3、TradeDao

 package com.GetcharZp.MyBatisStudy.dao;

 import java.util.List;

 import com.GetcharZp.MyBatisStudy.model.Trade;

 public interface TradeDao { // interface 接口

     public List<Trade> selectTrade();
public void deleteTrade(int tradeId);
public void updateTrade(int tradeId);
public void insertTrade(Trade newTrade);
public Trade findById(int tradeId);
}

4、Trade

 package com.GetcharZp.MyBatisStudy.model;

 public class Trade {

     private Integer tradeId;
private String tradeName;
private Double tradePrice;
public Integer getTradeId() {
return tradeId;
}
public void setTradeId(Integer tradeId) {
this.tradeId = tradeId;
}
public String getTradeName() {
return tradeName;
}
public void setTradeName(String tradeName) {
this.tradeName = tradeName;
}
public Double getTradePrice() {
return tradePrice;
}
public void setTradePrice(Double tradePrice) {
this.tradePrice = tradePrice;
}
@Override
public String toString() {
return "Trade [tradeId=" + tradeId + ", tradeName=" + tradeName + ", tradePrice=" + tradePrice + "]";
}
}

5、TradeMapper

 <?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.GetcharZp.MyBatisStudy.dao.TradeDao">
<select id="selectTrade" resultType="com.GetcharZp.MyBatisStudy.model.Trade">
select * from trade
</select>
<select id="findById" resultType="com.GetcharZp.MyBatisStudy.model.Trade">
select * from trade where trade_id=#{tradeId}
</select>
<delete id="deleteTrade">
delete from trade where trade_id = #{tradeId}
</delete>
<insert id="insertTrade">
insert into trade (trade_id, trade_name, trade_price)
values(#{tradeId}, #{tradeName}, #{tradePrice})
</insert>
<update id="updateTrade">
update trade set
trade_name = #{tradeName},
trade_price = #{tradePrice}
where
trade_id = #{tradeId}
</update>
</mapper>

6、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>
<settings>
<!-- <setting name="logImpl" value="STDOUT_LOGGING" /> -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<typeAliases>
<package name="com.GetcharZp.MyBatisStudy.model"/>
</typeAliases>
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/suse"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mappers/TradeMapper.xml"/>
</mappers>
</configuration>

7、pom.xml:

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.GetcharZp.MyBatisStudy</groupId>
<artifactId>Mybatis</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging> <name>Mybatis</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
</project>

Mybatis实现数据的增删改查的更多相关文章

  1. mybatis ---- 实现数据的增删改查

    前面介绍了接口方式的编程,需要注意的是:在book.xml文件中,<mapper namespace="com.mybatis.dao.IBookDao"> ,命名空间 ...

  2. Mybatis实现数据的增删改查(CRUD)

    什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBat ...

  3. 转!!!Mybatis实现数据的增删改查(CRUD)

    什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBat ...

  4. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

  5. Mybatis学习总结(二)—使用接口实现数据的增删改查

    在这一篇中,让我们使用接口来实现一个用户数据的增删改查. 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类.在该类中,描述了相关的信息,包括id.name.age.id_num ...

  6. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  7. dbutils中实现数据的增删改查的方法,反射常用的方法,绝对路径的写法(杂记)

    jsp的三个指令为:page,include,taglib... 建立一个jsp文件,建立起绝对路径,使用时,其他jsp文件导入即可 导入方法:<%@ include file="/c ...

  8. MVC模式:实现数据库中数据的增删改查功能

    *.数据库连接池c3p0,连接mysql数据库: *.Jquery使用,删除时跳出框,确定是否要删除: *.使用EL和JSTL,简化在jsp页面中插入的java语言 1.连接数据库 (1)导入连接数据 ...

  9. Hibernate3回顾-5-简单介绍Hibernate session对数据的增删改查

    5. Hibernate对数据的增删改查 5.1Hibernate加载数据 两种:get().load() 一. Session.get(Class arg0, Serializable arg1)方 ...

随机推荐

  1. ‎Cocos2d-x 学习笔记(3.1) Scene 场景与场景切换

    1. Scene 简介 游戏中我们看到/看不到的所有元素都是展示在场景之Scene上. 我们可以把场景比作放在地上的没盖纸箱,层Layer是纸箱里堆放的玻璃,Sprite等元素画在玻璃Layer上,这 ...

  2. boost::VS2017下编译和配置boost库

    环境: win10  vs2017  v141 1.下载  boost_1_70_0.zip. 2.以管理员方式打开 3. bootstrap.bat 4.编译64位库 b2.exe stage -- ...

  3. mysql 堆注入写shell

    如果一个平台有注入点的时候可以通过写一句话拿shell 条件 1.myql 5.6.34 版本区分 2.有写的权限 3.知道绝对路径 MySQL 中 在在mysql 5.6.34版本以后 secure ...

  4. shell基本运算符(五)

    shell支持多种运算符,包括:算术运算符.关系运算符.布尔运算符.字符串运算符.文件测试运算符. 注意:条件表达式要放在方括号之间,并且要有空格,eg:[$a==$b] 是错误的,必须写成 [ $a ...

  5. Dell R720 RAID配置

    Dell服务器上一般都带有Raid卡,Raid5配置请看下边,亲们 1. 将服务器接上电源,显示器,键盘,并开机 2. 按 ctrl + R进入Raid设置 3. 将光标放置在Raid卡那,按F2,选 ...

  6. 02 Node.js学习笔记之http服务

    在Node中可以非常轻松的构建一个Web服务器,在Node中提供了一个http模块,这个模块主要功能就是帮助你创建一个Web服务器. 创建步骤: //1.加载http模块 var http=requi ...

  7. Arduino学习笔记⑦ EEPROM断电保存数据

    1.前言     EEPROM,叫做电可擦可编程可读寄存器(是不是觉得好官方,不知道是什么鬼?反正我也一脸懵逼),只需要知道这是一种断电后数据不会丢失的存储设备,可以用来应对需要做记录做保存的场合.简 ...

  8. 七、springBoot 简单优雅是实现文件上传和下载

    前言 好久没有更新spring Boot 这个项目了.最近看了一下docker 的知识,后期打算将spring boot 和docker 结合起来.刚好最近有一个上传文件的工作呢,刚好就想起这个脚手架 ...

  9. 【译】Source Maps浅析

    Time:2019/10/27~2019/10/29 Link: 原文链接 译文开始: 对网站进行性能优化对一个最容易的方法就是把JS和CSS进行打包压缩.但是当你需要调试这些压缩文件中的代码的时候, ...

  10. 用Python将处理数据得到的csv文件分类(按顺序)保存

    用Python中的os和numpy库对文件夹及处理数据后得到的文件进行分类保存: import numpy as np import os for m in range(699,0,-35): cur ...