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=" ...
随机推荐
- 从植发AI看智能手术机器人的国产化之路
在工作和生活的双重压力下,很多80后乃至90后的青年都"光荣"地加入了"脱发一族".为了拯救发际线或是不变成"地中海",很多人从此走上了寻医 ...
- Java提升三:函数式接口
1. 定义 函数式接口即是有且仅有一个抽象方法的接口. 注意: (1)函数式接口只对于抽象方法有要求,对于接口中的默认方法,静态方法,私有方法数量并不作特殊要求. (2)既然函数式接口定义了抽象方法, ...
- 解决上传代码到GitHub报错Push rejected: Push to origin/master was rejected
最近在 push 代码到 github 时,IDEA报错 Push rejected: Push to origin/master was rejected 在网友找了一圈,发现都不是想要的答案 于是 ...
- IDEA中利用MAVEN制作和打包普通可执行应用(非SprintBoot的WEB应用)
我使用IDEA也就半年,开发中常常会遇到一些问题,例如用IDEA编写普通的可执行程序: 之前使用Eclipse编写一个可执行的JAVA程序,然后导出打包,非常方便: 但是我呢,想在 IDEA 中用Ma ...
- 值得一学的C语言
P1085 不高兴的津津 #include <stdio.h> int main( ) { int a,b; int max=0; int result; for (int i = 0; ...
- 010.Oracle数据库 , ORDER BY 按升序降序排序
/*Oracle数据库查询日期在两者之间*/ SELECT DISTINCT ATA FROM LM_FAULT WHERE ( OCCUR_DATE BETWEEN to_date( '2017-0 ...
- java格式化代码(java格式化代码工具类)
下别人的原来链接..... 支持效果不好要想格式化好需要解析语法树 7个积分我这里免费下 转自 https://download.csdn.net/download/jkl012789/ ...
- 五、Vue:使用axios库进行get和post、用拦截器对请求和响应进行预处理、Mock(数据模拟)
一.axios [应用]进行请求和传表单 [axios中文档]:https://www.kancloud.cn/yunye/axios/234845 [vue-axios]:https://cn.vu ...
- 吴裕雄--天生自然java开发常用类库学习笔记:国际化程序
import java.util.ResourceBundle ; public class InterDemo01{ public static void main(String args[]){ ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-asterisk
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...