Mybatis入门配置及第一个Mybatis程序
目的:使用mybatis来进行对数据库表的操作
第一步:引入jar包
我这里是创建的maven工程
第二步:创建数据表user
第三步:创建实体类
实体类放在包 com.xxx.pojo 下,包名可自行修改。实体类中属性名可以和数据库中字段名一致,也可以不一致,推荐一致
public class User { private int id;
private String user_name;
private String user_sex;
private int user_age; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getUser_name() {
return user_name;
} public void setUser_name(String user_name) {
this.user_name = user_name;
} public String getUser_sex() {
return user_sex;
} public void setUser_sex(String user_sex) {
this.user_sex = user_sex;
} public int getUser_age() {
return user_age;
}
public void setUser_age(int user_age) {
this.user_age = user_age;
}
@Override
public String toString() {
return "User [id=" + id + ", user_name=" + user_name + ", user_sex=" + user_sex + ", user_age=" + user_age
+ "]";
}
public User(String user_name, String user_sex, int user_age) {
super();
this.user_name = user_name;
this.user_sex = user_sex;
this.user_age = user_age;
}
public User() {
super();
}
}
第四步:配置Mybatis核心配置文件
Mybatis核心配置文件可以任意取名,也可以放在任意路径下。在这里,我的配置文件名称是:mybatis-config.xml,而且是放在了src下
<?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>
<!-- 配置数据库环境 default:指定默认的数据库-->
<environments default="mysql">
<!-- id:数据库的名称,唯一的 -->
<environment id="mysql">
<!-- 事务管理 交给jdbc管理-->
<transactionManager type="jdbc"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment> <environment id="oracle">
<transactionManager type="jdbc"></transactionManager>
<dataSource type="POOLED">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@//localhost:1521/数据库名"/>
<property name="username" value="用户名"/>
<property name="password" value="密码"/>
</dataSource>
</environment>
</environments> <!-- 映射文件 -->
<mappers>
<mapper resource="com/xxx/pojo/UserMapper.xml"/>
</mappers> </configuration>
在编写核心配置文件的时候,你可能会发现 alt+/ 没有给出提示,这是因为你没有将mybatis的核心配置文件的约束引入eclipse,引入方法:
在浏览器上地址栏输入:http://mybatis.org/dtd/mybatis-3-config.dtd,会进入 dtd 约束文件下载,接着点击window--->preferences-->搜索xml--->选择xml Catelog
点击 add
Location:你下载的 dtd 文件的的路径
Key type:URI
Key:http://mybatis.org/dtd/mybatis-3-config.dtd
第五步:编写实体类映射文件
<?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.xxx.pojo.User">
<!-- 对返回值数据的映射规则 -->
<resultMap type="com.xxx.pojo.User" id="UserMap">
<id property="id" column="id"/>
<result property="user_name" column="user_name"/>
<result property="user_sex" column="user_sex"/>
<result property="user_age" column="user_age"/>
</resultMap> <!-- 编写插入语句 parameterType:传入的参数类型-->
<insert id="insert1" parameterType="com.xxx.pojo.User">
insert into user(user_name,user_sex,user_age)values(#{user_name},#{user_sex},#{user_age})
</insert> <update id="update1" parameterType="com.xxx.pojo.User">
update user set user_name=#{user_name},user_sex=#{user_sex},user_age=#{user_age} where id=#{id}
</update> <delete id="delete1" parameterType="int">
delete from user where id=#{id}
</delete> <select id="select1" resultMap="UserMap">
select *from user </select> </mapper>
第六步:测试
编写测试类,进行测试框架
package com.xxx.test; import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
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 org.junit.Test; import com.xxx.pojo.User; public class TestCase { private static SqlSession session; public static SqlSession getSqlSession(){
try {
//读取mybatis核心配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactory工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取SqlSession对象
session = sqlSessionFactory.openSession(); } catch (IOException e) {
e.printStackTrace();
}
return session;
} public static void close(){
if(session!=null){
session.close();
}
} /*
* 测试插入
*/
@Test
public void test1(){
SqlSession sqlSession = getSqlSession(); User user = new User("张三", "男", 20);
sqlSession.insert(User.class.getName()+".insert1", user);
//每次对数据库发生改变之后,不要忘记提交
sqlSession.commit();
close();
} /*
* 测试更新数据
*/
@Test
public void test2(){
SqlSession sqlSession = getSqlSession(); User user = new User("张三", "男", 20);
user.setUser_age(30);
user.setId(4);
sqlSession.update("com.wangtong.pojo.User.update1", user); sqlSession.commit();
close();
} /*
* 测试删除
*/
@Test
public void test3(){
SqlSession sqlSession = getSqlSession(); sqlSession.delete(User.class.getName()+".delete1", 5); sqlSession.commit();
close();
} /*
* 测试查询
*/
@Test
public void test4(){
SqlSession sqlSession = getSqlSession(); List<User> list = sqlSession.selectList(User.class.getName()+".select1");
System.out.println(list); sqlSession.commit();
close();
} }
Mybatis入门配置及第一个Mybatis程序的更多相关文章
- hibernate入门配置及第一个hibernate程序
学习了hibernate后就想先给大家分享一下它的配置方法: jar包导入 一.数据库表的创建 二.开启hibernate配置 编译器:eclipse 数据库:mysql 1.创建第一个xml文件 ...
- Node.js入门以及第一个helloworld程序
1.概念:简单的说 Node.js 就是运行在服务端的 JavaScript.学之前需要明白Node.js是无法挑战jsp.php或者asp这种老牌网站的地位的,是永远不会出现在证券.金融这种领域的. ...
- Android 开发前的基本的配置及第一个Android 程序
一.JDK 1. 网上下载JDK 2. 配置环境变量(网上百度相关资料) JAVA_HOME=D:\Java\jdk1.8.0_91 CLASSPATH=.;%JAVA_ ...
- Servlet入门总结及第一个Servlet程序
目录 一了解Servlet的概念 二Servlet技术功能 三 Servlet技术特点 四 Servlet生命周期 五servlet工作过程 六 Servlet与JSP区别 七Servlet代码结构 ...
- Cesium入门2 - Cesium环境搭建及第一个示例程序
Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验 ...
- SpringMVC基础入门,创建一个HelloWorld程序
ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要 ...
- Java基础教程1:环境配置及第一个HelloWorld.java
本文主要介绍JDK环境配置.Sublime Text3配置及第一个HelloWorld.Java程序.运行环境为Win10系统,使用JDK1.8版本. 1. JDK下载及环境配置 1.1 JDK下载 ...
- Conda安装及第一个py程序
Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...
- Mybatis入门及第一个Mybatis程序
Mybatis笔记整理 所需要的基础知识 JDBC Mysql Java基础 Maven Junit 框架:是有配置文件的.最好的方式:看官网文档 1.简介 1.1.什么是MyBatis 简介 什么是 ...
随机推荐
- 【Qt开发】【ARM-Linux开发】 QT在ARM上显示字体的问题
在PC机上利用QT开发的应用程序在设置字体时,在PC上运行,可根据自己的设置,字体随之变大或变小.而移植到ARM上运行时发现,显示字体与所设置的字体不用,字体普遍偏小.经过上网搜索发现,是环境变量字库 ...
- elasticsearch基本概念理解+elasticsearch 的shards unassigned处理方法 -- 最佳运维实践 - 集群规划
1.es与MySQL的概念对比 2.概念理解 2.1 Index : 一个索引即是文档的集合 2.2 Document : 一个文档即是一个可被索引的基础单元信息,一条记录: 2.3 Replicas ...
- MySQL的安装、配置与优化
MySQL 安装配置 参考网址:https://www.runoob.com/linux/mysql-install-setup.html MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL ...
- 在VMware上安装centos
Windows,VMware和Centos三者的关系 VMware安装.centos安装 在 VMware 上安装 CentOS 第 1 步:打开 VMware,点击创建新的虚拟机 第 2 步:选择典 ...
- pptpd的log整理
前言: 最近有时候,我的pptpd会莫名崩掉.这时,在外边的我连不到内网,气的一比. 这时候,就需要去查一查log日志了. 所以就记录一下怎么调日志的: 1. 修改/etc/ppp/pptpd.o ...
- Meta Post
$\require{color} \require{enclose}$ 写博客的一些技巧和工具. To use the following three macros it is necessary t ...
- C++目录
C++ lambda表达式 C++中如何设计一个类只能在堆或者栈上创建对象,面试题 C++之STL总结精华笔记 指针强制类型转换的理解 关于指针类型和指针类型转换的理解 C++继承种类 C++ 单例模 ...
- PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值
PHP max_input_var设为了1000导致post数组太多时无法接受后面的参数值 下午突然接到格力电话说无法批量设置门店任务,但是在测试环境下无法重现,测试环境下好好的. 然后登陆到生产环境 ...
- C库函数:scanf、fscanf、printf、fprintf、sprintf、 snprintf
1. scanf 函数原型 int scanf(const char *format, ...); 功能:从标准输入 stdin 读取格式化输入. 2.fscanf 函数原型 int fscanf( ...
- hdu 3549 初试最大流问题
Flow Problem Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tota ...