首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下:

create database my;

use my;
create table user(
id int(10) auto_increment,
name varchar(64),
level varchar(256),
phone varchar(256),
primary key(id)
); insert into user(id,name,level,phone) values(1,'a','a','1234555666');

其次,创建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 alias="User" type="com.zk.model.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/my"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments> <mappers>
<!-- // power by http://www.yiibai.com -->
<mapper resource="com/zk/model/UserMapper.xml" />
</mappers>
</configuration>

再次,创建一个IUser.java接口

package com.zk.dao;

import java.util.List;

import com.zk.model.User;

public interface IUser {
//增加
public void addUser(User user);
//删除
public void deleteUser(int id);
//更新
public void updateUser(User user);
//删除
public User selectUser(int userid);
//查看所有使用者
public List<User> selectAllUser();
}

创建一个User.java实体类

package com.zk.model;

public class User {
private int id;
private String name;
private String level;
private String phone;
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 String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", level=" + level
+ ", phone=" + phone + "]";
}
}

接着,在配置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.zk.dao.IUser">
<insert id="addUser" parameterType="User">
Insert into user(id,name,level,phone) values(#{id},#{name},#{level},#{phone});
</insert> <delete id="deleteUser" parameterType="User">
delete from user where id=#{id};
</delete> <update id="updateUser" parameterType="User">
update user set name=#{name},level=#{level},phone=#{phone} where id=#{id};
</update> <select id="selectUser" parameterType="User" resultType="com.zk.model.User">
Select * from user where id=#{id};
</select> <select id="selectAllUser" resultType="com.zk.model.User">
Select * from user;
</select>
</mapper>

最后,构建一个Main.java,实现数据库增删改查的功能:

package MainApp;

import java.io.IOException;
import java.io.Reader;
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.zk.dao.IUser;
import com.zk.model.User; public class Main {
private static SqlSessionFactory sqlsessionfactory;
private static Reader reader; static{
try {
reader=Resources.getResourceAsReader("config/config.xml");
sqlsessionfactory=new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public SqlSessionFactory getSqlSessionFactory()
{
return sqlsessionfactory;
} public static void main(String[]args)
{
//Insert();
//delete();
//update();
select(1);
} public static void Insert(){
//获取session连接
SqlSession session=sqlsessionfactory.openSession();
//获取mapper
IUser usermap=session.getMapper(IUser.class);
//执行插入
User user1=new User();
user1.setId(1);
user1.setLevel("a");
user1.setName("a");
user1.setPhone("19832321123");
usermap.addUser(user1);
//提交事务
//获取插入信息
session.commit();
selectAllUser();
} public static void delete(){
//获取session连接
SqlSession session=sqlsessionfactory.openSession();
//获取mapper
IUser usermap=session.getMapper(IUser.class);
//执行删除
usermap.deleteUser(1);
session.commit();
selectAllUser();
} public static void update(){
//获取session连接
SqlSession session=sqlsessionfactory.openSession();
//获取mapper
IUser usermap=session.getMapper(IUser.class);
selectAllUser();
User user = usermap.selectUser(1);
user.setName("c");
//执行删除
usermap.updateUser(user);
session.commit();
selectAllUser();
} public static void select(int id){
//获取session连接
SqlSession session=sqlsessionfactory.openSession();
//获取mapper
IUser usermap=session.getMapper(IUser.class);
//selectAllUser();
User user = usermap.selectUser(id);
//执行查询
System.out.println(user.toString());
session.commit();
//selectAllUser();
} private static void selectAllUser() {
// TODO Auto-generated method stub
SqlSession session=sqlsessionfactory.openSession();
IUser user=session.getMapper(IUser.class);
printUser(user.selectAllUser());
} private static void printUser(final List<User> users) {
// TODO Auto-generated method stub
int count = 0; for (User user : users) {
System.out.println("User Id: " + user.getId());
System.out.println("User Name: " + user.getName());
System.out.println("User Dept: " + user.getLevel());
System.out.println("User Website: " + user.getPhone());
}
}
}

这样就完成了数据库的增删改查。

程序结构如下图所示:

mybatis--实现数据库增删改查的更多相关文章

  1. Mybatis入门之增删改查

    Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...

  2. MyBatis -- 对表进行增删改查(基于注解的实现)

    1.MyBatis对数据库表进行增/删/改/查 前一篇使用基于XML的方式实现对数据库的增/删/改/查 以下我们来看怎么使用注解的方式实现对数据库表的增/删/改/查 1.1  首先须要定义映射sql的 ...

  3. Spring Boot 使用Mybatis注解开发增删改查

    使用逆向工程是遇到的错误 错误描述 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): c ...

  4. Mybatis实现简单增删改查

    Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...

  5. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  6. 2. MongoDB基本操作 —— 用Mongo.exe操作数据库增删改查

    一.开篇 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象 ...

  7. go——beego的数据库增删改查

    一直都不理解使用go语言的时候,为什么还要自己去装beego,以为使用go便可以解决所有的问题,结果在朋友的点拨下,才意识到: go与beego的关系就好比是nodejs与thinkjs的关系,因此也 ...

  8. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  9. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

随机推荐

  1. SSH、telnet配置以及它们之间区别

    命令: SSH ip domain-name www.baidu.com --配置主机名(用来远程访问) user privilege secret --配置账户名和密码 line vty --配置端 ...

  2. Pytest学习9-常用插件

    pytest-django:为django应用程序编写测试. pytest-twisted:为twisted应用程序编写测试,启动反应堆并处理测试函数的延迟. pytest-cov:覆盖率报告,与分布 ...

  3. window snmp

    https://blog.csdn.net/weixin_30367543/article/details/99923014 https://jingyan.baidu.com/article/e3c ...

  4. BK: How to read a book 第四篇

    第四篇 阅读的最终目标 第二十章 阅读的第四个层次:主题阅读 在做主题阅读时的要求: 1. 知道:知道应该读哪些书. 在面对如此庞大的相关资料时,我们要如何决定我们要研究的主题是什么呢. 如何判断属于 ...

  5. nice-validator判断表单是否验证通过

    $("#formSurvery").isValid(function(is){ if(is){ alert("通过!") } } 如果is为false则表示不通 ...

  6. <软件工程基础>

    我是JX_Z,学习信息安全方向 //(怎么在这头不头尾不尾的地方弄个自我介绍这么尴尬呢) 之前也写过一些随笔记录自己的学习过程 软件工程基础课程中遇到的问题和学习心得都会记录在这篇文章中不断更新. 谢 ...

  7. c# Gridview 自动分页功能 解决后面页面不显示问题

    操作步骤: 操作如下: 1.更改GrdView控件的AllowPaging属性为true. 2.更改GrdView控件的PageSize属性为 任意数值(默认为10) 3.更改GrdView控件的Pa ...

  8. FJUTOJ-3682 LRU算法的实现2 (链表+哈希)

    传送门 此题让我们实现一个LRU的模板类.本题较简便且高效的写法是维护一个std::list和一个std::unordered_map. std::list 与 std::unordered_map ...

  9. Codeforces Round #623 (Div. 1, based on VK Cup 2019-2020 - Elimination Round, Engine)A(模拟,并查集)

    #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; pair<]; bool cmp( ...

  10. PCB常见的拓扑结构

    1.点对点拓扑 point-to-point scheduling 该拓扑结构简单,整个网络的阻抗特性容易控制,时序关系也容易控制,常见于高速双向传输信号线:常在源端加串行匹配电阻来防止源端的二次反射 ...