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 简介 什么是 ...
随机推荐
- Hydra(爆破神器)使用方法
工具介绍 hydra是一个自动化的爆破工具,暴力破解弱密码,是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可. hydra支持的服务有: POP3,SMB,RDP,SS ...
- How To Use Rocketbots As A Dialogflow CRM
Ever wished you had a CRM for Dialogflow? We did too, so we built one. This is a best practices arti ...
- XSS 攻击的预防
XSS 攻击有两大要素: 1.攻击者提交恶意代码. 2.浏览器执行恶意代码. 针对第一个要素:我们是否能够在用户输入的过程,过滤掉用户输入的恶意代码呢? 输入过滤 在用户提交时,由前端过滤输入,然后提 ...
- 02.02 lamp环境搭建笔记
lamp环境 在linux中安装 apache.mysql.php三种软件环境,同时需要安装他 某些插件. cp /etc/apt/sources.list /etc/apt/sources.list ...
- Git速成学习第六课:Bug分支
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 当你接到一个修复代码为101的任务的时候,很自然的你想创建一个分支issue-101来修复它,但 ...
- mysql 全表扫描场景
全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止.通常在数据库中,对无索引的表进行查询一般称为全表扫描:然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也 ...
- Java入门请不要放弃,学习路线以及侧重点分析
前言: ●众多的语言,到底哪一门才是适合我的? ●我们为什么要学习Java语言呢? ●Java学习路线 我们可以通过今年最新的TIOBE编程语言排行榜看到,JAVA在"昨天".和& ...
- es6学习笔记(一)环境搭建
1.安装node.js.这个自行百度安装就好了,没什么说的,安装完配置环境变量.因为后面安装第三方包是要用到npm命令,装完node就等于安装完了npm 2.项目目录创建 mkdir es6 cd e ...
- MySQL密码正确却无法本地登录,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
MySQL密码正确却无法本地登录 报错如下: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password ...
- MySQL SELECT语法(一)SELECT语法详解
源自MySQL 5.7 官方手册:13.2.9 SELECT Syntax SELECT的语法如下: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIO ...