首先,创建一个数据库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. Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your My

    转自:https://blog.csdn.net/haha_66666/article/details/78444457 Query : select * from order LIMIT 0, 10 ...

  2. 关于向sql中插入datetime部分问题总结

    非int型数据要加单引号, 用format格式化当前时间后用String插入即可 读取时用时间戳读取datetime或转化为string存储 读 public static String gainTi ...

  3. Django 初试水(三)

    在前面的一和二中,分别实现了一些基础的操作,数据库和 Django 自带的管理界面,接下来,主要是创建我们自己的界面(视图). 访问一个地址,对应的服务器直接返回一个视图.这是最常见的交互. 就好比访 ...

  4. 6.Dockerfile 指令

    概述 我们已经介绍了 FROM,RUN,还提及了 COPY, ADD,其实 Dockerfile 功能很强大,它提供了十多个指令.下面我们继续讲解其他的指令. COPY 格式: COPY <源路 ...

  5. Hbase javaAPI(工具类)表的增删改查

    建立连接: package Init; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; i ...

  6. 白面系列 nginx

    Nginx == engine x. nginx就是一个服务器.主要提供web服务.负载均衡(反向代理).web缓存等服务. nginx ≈ apache,但nginx是轻量级的高性能高并发的服务器. ...

  7. 记录 shell学习过程(3) if 的格式

    ] #-e 为检测目录或文件是否存在 !为取反 then mkdir -v /tmp/ echo 'ok' fi if else if [ $USER == 'root' ] then echo 'h ...

  8. SpringBoot整合WEB开发--(四)@ControllerAdvice

    1.全局异常处理: @ControllerAdvice处理全局数据,一般搭配@ExceptionHandler,@ModelAttribute以及@InitBinder使用. @ControllerA ...

  9. 关于jquery绑定事件执行两次

    经常会出现jquery绑定事件执行两次的情况,如: $("a[tag=slide]").click(function () { alert(1); $(this).parent() ...

  10. HDU 6740 kmp最小循环节

    题意:给一个无线循环小数的前几位,给n,m 选择其中一种出现在前几位的循环节方式(a个数),循环节的长度b 使得n*a-m*b最大 样例: 2 1 12.1212 输出 6 选择2,2*1-1*1=1 ...