Mybatis总结一之Mybatis项目的创建
一、mybatis概念
Mybatis是对象和表之间映射关系的持久层框架。
二、Mybatis的导入与创建
第一步,创建web项目,引入mybatis依赖的jar包----mybatis-3.4.6.jar
第二步,创建mybatis的主配置文件
1、创建mybatis模板文件
Setting---Editor----File and Code Templates-----+
模板文件:
<?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">
oracle的主配置文件:
<?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>
<!--配置mybatis的运行环境
mybatis可以连接多个数据库 ,连接一个数据库的信息就是一个运行环境
default指定默认使用哪个运行环境
-->
<environments default="myOracleEnv">
<!--连接oracle的环境-->
<environment id="myOracleEnv">
<!--配置mybatis的事物管理器
JDBC 使用mybatis自己的事物管理方式,就是使用jdbc的事物管理方式
MANAGED 使用容器的事物管理方式
-->
<transactionManager type="JDBC"></transactionManager>
<!--配置mybatis连接oracle的连接池信息
POOLED 使用连接池的方式获取数据库连接
UNPOOLD 不使用连接池的方式获取数据库连接
-->
<dataSource type="POOLED">
<!--数据库的驱动-->
<property name="driver" value="oracle.jdbc.driver.OracleDriver"></property>
<!-- 数据库连接的url-->
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<!--数据库连接的用户名-->
<property name="username" value="scott"></property>
<!-- 数据库连接的密码-->
<property name="password" value="tiger"></property>
</dataSource>
</environment>
</environments>
</configuration>
第三步,创建mybatis的工厂类工具,用来获取mybatis的SQLSession对象
获取SqlSession对象:
package com.aaa.mybatis.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionimport org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
/**
* 获取SqlSession对象工具类
*/
public class SqlSessionFactoryUtil {
//获取SqlSession的工厂类对象
private static SqlSessionFactory sessionFactory;
//静态代码块,在类加载的时候会自动执行该内容
static{
Reader reader =null;
try {
//获取Reader对象,读取mybatis的主配置文件
reader = Resources.getResourceAsReader("mybatis.xml");
//利用SqlSessionFactoryBuilder创建工厂类对象
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}/**
* 提供给用户调用的获取SqlSession的方法
* @return
*/
public static SqlSession getSession(){
return sessionFactory.openSession();
}
}
第四步,创建实体类
package com.aaa.mybatis.entity;
/**
* 部门管理实体类
*/
public class Dept {
private Long deptno;
private String dname;
private String loc;
public Long getDeptno() {
return deptno;
}
public void setDeptno(Long deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
}
第五步,创建dao接口
package com.aaa.mybatis.dao;
import com.aaa.mybatis.entity.Dept;
import java.util.List;
/**
* 部门管理dao接口
*/
public interface DeptDao {
/**
* 查询所有的部门
* @return
*/
public List<Dept> listAll();
}
第六步,创建dao接口的实现类Mapper
mapper模板
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
第七步,把mapper文件配置到主配置文件
Mybatis总结一之Mybatis项目的创建的更多相关文章
- springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用
百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBat ...
- (一 、上)搭建简单的SpringBoot + java + maven + mysql + Mybatis+通用Mapper 《附项目源码》
最近公司一直使用 springBoot 作为后端项目框架, 也负责搭建了几个新项目的后端框架.在使用了一段时间springBoot 后,感觉写代码 比spring 更加简洁了(是非常简洁),整合工具也 ...
- Spring,Mybatis,Springmvc框架整合项目(第一部分)
一.说在前面的话 本篇博文实现一个注册登录小项目,使用spring,mybatis,springmvc框架进行整合,我们创建的是一个maven工程,主要是方便jar包版本的管理.项目使用eclispe ...
- 一个mybatis错误导致无法启动项目的问题
今天遇到Mybatis一个问题,导致项目一直起不来,查了很久发现是MapperXML的错,问题表现为: 系统始终起不来,但也不报错,始终卡到如下信息位置: 信息: Initializing Sprin ...
- MyBatis学习(一)、MyBatis简介与配置MyBatis+Spring+MySql
一.MyBatis简介与配置MyBatis+Spring+MySql 1.1MyBatis简介 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的J ...
- MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql
目录(?)[-] 一MyBatis简介与配置MyBatisSpringMySql MyBatis简介 MyBatisSpringMySql简单配置 搭建Spring环境 建立MySql数据库 搭建My ...
- 【转】MyBatis学习总结(一)——MyBatis快速入门
[转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC ...
- mybatis系列笔记(1)---mybatis入门
mybatis入门 MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了goog ...
- JAVAEE——Mybatis第二天:输入和输出映射、动态sql、关联查询、Mybatis整合spring、Mybatis逆向工程
1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对 ...
随机推荐
- 吴裕雄--天生自然python学习笔记:Python3 多线程
多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条 ...
- liubo.im
elite-lessons (37) --> 1025 精英水平的道歉 29/10/2016 1027 听大脑说话.给大脑编程 27/10/2016 1022 美国两党政治为什么越来越极化? 2 ...
- 将js进行到底:node学习5
HTTP开发之Connect工具集--中间件 继学习node.js的TCP API和HTTP API之后,node.js web开发进入了正轨,但这就好像Java的servlet一样,我们不可能使用最 ...
- SWUST OJ 东6宿舍灵异事件(0322)
东6宿舍灵异事件(0322) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 88 Accepted: 31 Descriptio ...
- Dart-Tour2-类
类 Dart语法样式: https://www.dartlang.org/guides/language/effective-dart/style语法:https://www.dartlang.org ...
- GCD实现多个定时器,完美避过NSTimer的三大缺陷(RunLoop、Thread、Leaks)
定时器在我们每个人做的iOS项目里面必不可少,如登录页面倒计时.支付期限倒计时等等,一般来说使用NSTimer创建定时器: + (NSTimer *)timerWithTimeInterval:(NS ...
- Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘
https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...
- 【TensorFlow】自主实现包含全节点Cell的LSTM层 Cell
0x00 前言 常用的LSTM,或是双向LSTM,输出的结果通常是以下两个:1) outputs,包括所有节点的hidden2) 末节点的state,包括末节点的hidden和cell大部分任务有这些 ...
- 【教程向】配置属于自己的vim
新建Vim配置文件 Linux mkdir -/.vimrc 配置 常用设置 配置 功能 set number 设置行号 set systax on 高亮 colorscheme{主题} 设置颜色主题 ...
- list转map,set,使用stream进行转化
#list转map,set,使用stream进行转化 函数式编程: 场景: 从数据库中取出来的数据,经常是list集合类型,但是list转map这种场景虽然不常见,但是有时候也会遇到,最常见的还是转为 ...