【Mybatis】XML配置实现增删改查
①创建数据库和表,数据库为mytest,表为users
CREATE DATABASE mytest;
USE mytest; DROP TABLE IF EXISTS users;
CREATE TABLE users(
id INT PRIMARY KEY auto_increment NOT NULL,
name VARCHAR(20),
age INT
)
②创建Java工程,导入相应的jar包
③创建配置文件conf.xml和数据库配置文件db.properties
<?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> <properties resource="db.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${name}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
</configuration>
conf.xml
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/mytest
name = root
password = root
④创建实体类User
package org.mybatis.domain; 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;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
} }
⑤创建sql映射文件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="org.mybatis.mapping.userMapper">
<!-- 根据id查询得到一个user对象 -->
<select id="getUser" parameterType="int" resultType="org.mybatis.domain.User">
select * from users where id=#{id}
</select> <select id="getAllUsers" resultType="org.mybatis.domain.User">
select * from users
</select> <insert id="addUser" parameterType="org.mybatis.domain.User">
insert into users(name, age) values (#{name}, #{age})
</insert> <update id="updateUser" parameterType="org.mybatis.domain.User">
update users set name=#{name}, age=#{age} where id=#{id}
</update> <delete id="deleteUser" parameterType="int">
delete from users where id=#{id}
</delete>
</mapper>
userMapper.xml
⑥向配置文件中注册 userMapper.xml 文件
<mappers>
<mapper resource="org/mybatis/mapping/userMapper.xml"/>
</mappers> </configuration>
conf.xml
⑦测试类
package org.mybatis.app; import java.io.InputStream;
import java.util.List; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import org.mybatis.domain.User; public class TestXML { SqlSession session; @Before
public void beforeLoadXML(){
//加载 mybatis 配置文件
InputStream inputStream = TestXML.class.
getClassLoader().getResourceAsStream("conf.xml");
//构建sqlSession的工厂
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(inputStream);
//根据 sqlSessionFactory 产生 session
session = sqlSessionFactory.openSession();
} //插入数据
@Test
public void addOneUser() {
String statement = "org.mybatis.mapping.userMapper.addUser";
User user = new User();
user.setName("666");
user.setAge(66);
session.insert(statement, user);
session.commit();
session.close();
} //根据id查询user表中的数据
@Test
public void getOneUser(){
String statement = "org.mybatis.mapping.userMapper.getUser";
User user = session.selectOne(statement, 1);
System.out.println(user);
session.close();
} //查询所有数据
@Test
public void getAllUser() {
String statement = "org.mybatis.mapping.userMapper.getAllUsers";
List<User> listUser = session.selectList(statement);
System.out.println(listUser);
session.close();
} //更新数据
//session.update(statement, user);
//删除数据
//session.delete(statement, 1);
}
⑧结构图为:
【Mybatis】XML配置实现增删改查的更多相关文章
- MyBatis学习系列二——增删改查
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...
- Mybatis实现数据的增删改查
Mybatis实现数据的增删改查 1.项目结构(使用maven创建项目) 2.App.java package com.GetcharZp.MyBatisStudy; import java.io.I ...
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
- GreenDao数据库框架的配置与增删改查
并非原创,原创地址http://blog.csdn.net/njweiyukun/article/details/51893092 配置-------------------------------- ...
- SSM-MyBatis-02:Mybatis最基础的增删改查(查全部和查单独一个)
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 继续上次的开始,这次记录的是增删改查,上次重复过的代码不做过多解释 首先先创建mysql的表和实体类Book ...
- 肝 hibernate 配置and增删改查 and 测试
已经通宵三天撸代码了,现在的我已经养成晚上修仙写代码的节奏了.....最近 刚刚复习到了 hibernate 谈谈 这篇文章就谈谈我对这货的理解吧. 在看这篇文章之前希望你 知道sessionfact ...
- Mybatis实现部门表增删改查以及排序
废话不说,直接开门见山! 需要在WebContent下的lib下导入两个包 mybatis-3.2.5.jar ojdbc6.jar package com.xdl.entity; import ja ...
随机推荐
- 【文文殿下】[APIO2010]特别行动队 题解
基本上是一个斜率优化裸题了 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int max ...
- Python基础 --函数的参数
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...
- MySQL随手记
一.MySQL数据迁移(由远端主机迁移到本地) 1.导出数据库mysqldump -u root -p db > dump_db_date.sqlroot: 账户db: 需要导出的数据库名 2. ...
- 在Ubuntu下编译安装nginx
一.安装nginx 1.安装前提 a)epoll,linux内核版本为2.6或者以上 b)gcc编译器,g++编译器 c)pcre库,函数库,支持解析正则表达式 d)zlib库:压缩解压功能 e)op ...
- odoo开发笔记 -- 安装Backend debranding去除odoo信息模块后 隐藏开发者模式
Backend debranding 找到如下文件,将相关灰色代码注释掉. <?xml version="1.0" encoding="UTF-8"?&g ...
- (转)【深度长文】循序渐进解读Oracle AWR性能分析报告
原文:https://dbaplus.cn/news-10-734-1.html https://blog.csdn.net/defonds/article/details/52958303 作者介绍 ...
- MySQL笔记(2)---InnoDB存储引擎
1.前言 本节记录InnoDB的相关知识点. 2.InnoDB存储引擎简介 2.1版本 MySQL5.1开始,允许用动态方式加载引擎,这样存储引擎的更新可以不受MySQL数据库版本的限制.下面是各个I ...
- Attr类中进行类型推断
涉及到重要的类的继承关系如下图所示. 关于抛出的异常继承体系:
- springboot 多模块 -- 将web拆分出去 - 流动计算架构
前言: 之前将各层都拆分出去, 作为一个独立的可替换的子模块. 感觉比以前确实是灵活了一些. 不管是电商项目, 还是现在公司做的项目, 其中, 有很多的业务逻辑, 都是一样的, 但是由于不在一个系统中 ...
- CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd
目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...