mybatis初识
mybatis采用弱连接,在一定程度上集中管理了sql的语句编写,又实现了自动映射bean。
此处以最基础的mybatis连接为例:
引入jar包:
mybatis-3.4.5.jar
ojdbc-6.jar
在src下创建文件:mybatis.cfg.xml
<?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="ojdbc.properties"></properties>
<!--bean 别名通过扫描 bean下的内容获取 -->
<typeAliases>
<package name="bean" />
</typeAliases>
<!-- 配置mybatis运行环境 -->
<environments default="cybatis">
<environment id="cybatis">
<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
<transactionManager type="JDBC" /> <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
<!-- mappers扫描内容 -->
<mappers>
<package name="mapper" />
</mappers> </configuration>
在src下创建ojdbc.properties文件
db连接驱动文件写法参照 db连接驱动,以下为例子:
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.201.7::orcl
jdbc.username=test
jdbc.password=test1234
在mapper的package下,创建对象的接口文件和xml映射文件,要求信息对应上。
userMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mapper.UserMapper">
<!-- 自定义返回结果集 -->
<resultMap id="User" type="User">
<result property="UserId" column="User_id" javaType="java.lang.String"></result>
<result property="UserNo" column="User_no" javaType="java.lang.String"></result>
</resultMap> <select id="getUserById" parameterType="string" resultMap="User">
select User_id,User_no from User where User_id=#{UserId}
</select> <select id="getUserBySearch" parameterType="string" resultMap="User">
select User_id,User_no from User where org_name like #{orgName}
</select>
</mapper>
userMapper.java
public interface UserMapper {
/**
*
* @param UserId 主键ID
* @return User
* @throws Exception
*/
User getUserById(String UserId) throws Exception;
/**
*
* @param orgName
* @return
* @throws Exception
*/
List<User> getUserBySearch(String orgName) throws Exception;
}
创建对数据库的连接:
/**
* 获取连接db的session
* @author DennyZhao
*
*/
public class DBTools { public static SqlSessionFactory sessionFactory;
static {
//使用MyBatis提供的Resources类加载mybatis的配置文件
//构建sqlSession的工厂
Reader reader;
try {
reader = Resources.getResourceAsReader("mybatis.cfg.xml");
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSession() {
return sessionFactory.openSession();
}
}
测试:
public class UserTest {
public static void main(String[] args) throws Exception {
SqlSession session = DBTools.getSession();
UserMapper UserMapper = session.getMapper(UserMapper.class);
List<User> UserList = UserMapper.getUserBySearch("%张三%");
session.close();
}
}
mybatis初识的更多相关文章
- Day2 Mybatis初识(二)
mapper接口开发 传统dao的开发问题(ibatis) 方法调用:字符串易错,硬编码 mapper代理开发 a) 编写全局配置 b) 编写接口(自动根据接口和映射文件创建实现类) c) 编写映射文 ...
- Day1 Mybatis初识(一)
框架 将重复的,繁琐的代码实现封装,让程序员将更多的精力放在业务的理解和分析上. 框架的作用 提高开发效率 隐藏细节 三大框架SSH --> SSM 1) 表述层: 用户 ...
- MyBatis初识(通过小实例清晰认识MyBatis)
1.MyBatis框架: MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可 ...
- mybatis映射器配置细则
前面三篇博客我们已经多次涉及到映射器的使用了,增删查基本上都用过一遍了,但是之前我们只是介绍了基本用法,实际上mybatis中映射器可以配置的地方还是非常多,今天我们就先来看看映射器还有哪些需要配置的 ...
- mybatis常用配置
前面两篇博客我们简单介绍了mybatis的使用,但是在mybatis的配置问题上我们只是使用了最基础的配置,本文我们就来说说其他一些常用的配置.如果小伙伴对mybatis尚不了解,可以先参考这两篇博客 ...
- 两个案例轻松理解MyBatis中的TypeHandler!
在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个User类,User类中有一个属性叫做 ...
- 关于mybatis中typeHandler的两个案例
在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个User类,User类中有一个属性叫做 ...
- 初识mybatis(二)
上篇博客我们介绍通过Java代码来创建mybatis的配置文件,港真,这种方式看起来有意思实际在开发中用的并不多,mybatis的配置还是以xml配置为主,本文我们就来看看如何通过xml文件来配置my ...
- mybatis入门--初识mybatis
初识mybatis 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis.所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子的. ...
随机推荐
- locked (a oracle.jdbc.driver.T4CConnection
发现写Oracle的线程挂住了,场景是从mysql读数据,然后写到Oracle. 1 定位线程 因为在同一台机器上运行了多个java进程,要找到对应的pid,就是连接mysql的的那个进程. ...
- jenkins+git 构建项目
首先先参照了网上几篇文章 http://blog.csdn.net/kefengwang/article/details/54233584 https://www.liaoxuefeng.com/ar ...
- 基于 MBTiles 规范扩展的缓存文件格式说明
MBTiles 是由 MapBox 制定的一种将瓦片地图数据存储到SQLite数据库中并可快速使用,管理和分享的规范.该规范由MapBox制定,详见http://mapbox.com/mbtiles- ...
- [VS工具]如何让#region...#endregion在ashx文件页面上折叠
工具--->选项-->文本编辑器|文件扩展名, 添加后缀名为ashx的文件即可
- java 两个日期之间的天数
private static int numDays(String start,String end){ Calendar startCal=Calendar.getInstance(); Strin ...
- flask连接数据库mysql+SQLAlchemy
使用flask框架链接2种数据库 ----------db.py # -*- coding: utf-8 -*- # Flask hello world from flask import Flask ...
- Android 显示Dialog的同时自动弹出软键盘;
需求大致就是这样的:用户点击按钮弹出Dialog,Dialog中有输入框,然后Dialog弹出后要自动弹出软键盘:(如果让用户自己手动点击输入框再弹出软键盘的话,用户体验太差了): 好的,需求大致就是 ...
- vs2017配置文件目录
C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\15.0_6d0a0a42
- JavaScript简单的实例应用
1.显示当前时间: <!doctype> <html> <head> <meta charset='utf-8'> <script type='t ...
- python-简单的sqlite3使用
# 导入SQLite驱动: >>> import sqlite3 # 连接到SQLite数据库 # 数据库文件是test.db # 如果文件不存在,会自动在当前目录创建: >& ...