Mybatis框架的简单配置
Mybatis 的配置
1.创建项目(当然,这是废话)
2.导包
下载mybatis-3.2.0版:https://repo1.maven.org/maven2/org/mybatis/mybatis/
下载commson-dbcp :http://maven.aliyun.com/nexus/#nexus-search;quick~dbcp
下载ojdbc :http://maven.aliyun.com/nexus/#nexus-search;quick~ojdbc6
3.配置 主配置文件(xml 文件),用来指定数据库的连接参数(该文件通常放在src/main/resources 文件下)
<?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> <environments default="environment"> <!-- 连接参数配置 一个environment对应一个数据源--> <environment id="environment"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!--value 值根据项目连接的数据库参数填写--> <property name="driver" value="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@192.168.30.58:1521:orcl"></property> <property name="username" value="system"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!--mappers 是配置 指向映射文件所在的位置 resource 指向文件所在地址,如果该地址不存在该文件就会报错--> <mappers> <mapper resource="UserMapper.xml"></mapper> </mappers> </configuration>
4.配置映射 文件
<?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"> <!-- namespace 映射DAO接口 所在的文件目录 --> <mapper namespace="chinaedu.mapper.UserMapper"> <!-- 根据sql 语句选择不同的标签 id映射 接口 下的方法名 resultType 填返回的参数类型 parameterType填传入的参数类型--> <select id="findById" resultType="chinaedu.beans.User" parameterType="Integer"> <!-- #{} 花括号里面填 传入的参数 ,改参数名应映射 bean类 里的属性名 --> select * from user_zhang where id= #{id} </select> <select id="findMapOne" resultType="Map" > select * from user_zhang where id=#{id} </select> <insert id="save" parameterType="chinaedu.beans.User"> insert into user_zhang values (#{id},#{userName},#{password}) </insert> </mapper>
5. 获取Sqlsession 对象,该对象包含了所有执行Sql操作的方法,用于执行已映射的SQL 语句
获取SqlSession对象方法 :通过 SqlSessionFactoryBuilder 对象根据mybatis的主配置文件创建SqlSessionFactory对象,
每一个Mybatis的应用程序都以一个SqlSessionFactory 对象为核心,负责创建SqlSession 对象。封装获取SqlSession的代码如下:
package chinaedu.util; import java.io.IOException; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MybatisUtil { private static SqlSessionFactory sqlSessionFactory; static { // 静态区,加载速度快 SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); try { sqlSessionFactory=builder.build(Resources.getResourceAsReader("sqlMapConfig.xml")); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } }
6.创建 bean 类,该类的 成员变量 对应数据库的字段名(用于映射)
7.创建 Mapper接口,该接口的目录地址应对应 映射配置文件的 namespace 属性值
8.创建Dao 类 继承Mapper 接口,实现对数据库的增删改查操作,简单代码参考如下
package chinaedu.mapper; import java.util.Map; import org.apache.ibatis.session.SqlSession; import chinaedu.beans.User; import chinaedu.util.MybatisUtil; public class UserDao implements UserMapper { SqlSession session=MybatisUtil.getSqlSession(); public static void main(String[] args) { UserMapper dao =new UserDao(); User user=dao.findById(1); System.out.println(user); user.setId(4); dao.save(user); Map<String,String> map=dao.findMapOne(1); System.out.println(map); } public User findById(int id) { User user=session.selectOne("chinaedu.mapper.UserMapper.findById",id); //session.close(); return user; } public Map<String, String> findMapOne(int id) { UserMapper um=session.getMapper(UserMapper.class); Map<String,String> map=um.findMapOne(id); //System.out.println(um); //session.close(); return map; } public void save(User user) { try { session.insert("chinaedu.mapper.UserMapper.save",user); session.commit(); } catch (Exception e) { session.rollback(); e.printStackTrace(); } //session.close(); } }
end
Mybatis框架的简单配置的更多相关文章
- springMVC+spring+MyBatis(SSM)的简单配置
SSM(Spring+SpringMVC+MyBatis)框架集由Spring.SpringMVC.MyBatis三个开源框架整合而成,常作为数据源较简单的web项目的框架. 其中: Spring是一 ...
- 深入理解MyBatis框架的的配置信息
面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...
- SSM框架之MyBatis框架实现简单的增删改查
MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...
- Mybatis框架的简单运用
一.配置流程 1.流程示意图(通过XML映射文件实现): 2.流程: 2.1 导入包: 2.1.1 下载包 数据库驱动包(本文以MySQL为例):https://mvnrepository.com/a ...
- MyBatis框架的文件配置
第一步:log4j.properties的配置 原因:Mybatis的日志输出是依赖与log4j的,所以必须要配置 # Global logging configuration log4j.rootL ...
- MyBatis复习【简单配置CRUD】
这里的案例集成了log4j的日志框架,项目架构: 用到的jar文件 添加配置文件:mybatis-config.xml 和dao层配置文件StudentDao.xml 这里书写了个简单的案例仅为了说 ...
- SSM Spring SpringMVC Mybatis框架整合Java配置完整版
以前用着SSH都是老师给配好的,自己直接改就可以.但是公司主流还是SSM,就自己研究了一下Java版本的配置.网上大多是基于xnl的配置,但是越往后越新的项目都开始基于JavaConfig配置了,这也 ...
- Java Web开发中Spring+MyBatis框架的简单搭建
这里使用的eclipse,首先创建一个动态web项目. 1.导入Spring IOC.AOP.DAO.dbcp.dbdrive.mybatis.jar . mybatis-spring.jar 本人 ...
- mybatis框架的核心配置Mapper.xml
映射管理器resultMap:映射管理器,是Mybatis中最强大的工具,使用其可以进行实体类之间的关系,并管理结果和实体类间的映射关系 需要配置的属性:<resultMap id=" ...
随机推荐
- python 安装opendr 报错OSMesa
### 报错/ERROR: ```opendr/contexts/OSMesa/include/GL/glext.h:5794:21: note: expected ‘const GLchar ** ...
- docker 后台运行和进入后台运行的容器
先创建并进入一个新的被命名为newos的新容器 docker run -it --name newos docker.io/centos #创建并指定端口号映射 docker run -d -p ...
- cf 763B. Timofey and rectangles
%%题解,脑洞好大啊. 四色定理什么鬼的..所以一定是yes. 因为矩形边长都是奇数,所以可以按左下角分类,一共4类,分别1,2,3,4就可以了. (需要4种颜色的情况大概就是4个矩形围起来一个矩形) ...
- ipv6_RIPng配置
ipv6 unicast-routing——类似IPv4的ip routing ipv6 route rip word——启用IPv6进程 防止环路——split-horizon——水平分割——不再接 ...
- Java多线程涉及的概念(3)
Java多线程涉及的概念 在理解进程和线程概念之前首选要对并发有一定的感性认识,如果服务器同一时间内只能服务于一个客户端,其他客户端都再那里傻等的话,可见其性能的低下估计会被客户骂出翔来,因此并发编程 ...
- 记录一次SQLServer 2019 MDS问题的排查
问题表象: MDS网页里看不到任何建立的模型和实体. 用Excel add in连接,提示SQLServer授权过期. 但实际上SQLServer是企业版,目前并没有过期. 背景分析: 我们的环境是从 ...
- swift中数据之间的转换
1.swift 开发 - NSDictionary与NSData互转.Dictionary与Data互转 https://blog.csdn.net/SuperMageHuang/article/de ...
- Python LMDB的使用
在python中使用lmdb linux中,可以使用指令 pip install lmdb 安装lmdb包. ---- lmdb 数据库文件生成 增 改 删 查 1.生成一个空的lmdb数据库文件 # ...
- 模块化es6规范
阮一峰Module 的语法 1.概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 在 ES6 之前,社区制定了一些 ...
- HDU - 6025 Coprime Sequence(前缀gcd+后缀gcd)
题意:去除数列中的一个数字,使去除后数列中所有数字的gcd尽可能大. 分析:这个题所谓的Coprime Sequence,就是个例子而已嘛,题目中没有任何语句说明给定的数列所有数字gcd一定为1→_→ ...