文档章节

mybatis整体流程

architect刘源源
 architect刘源源
发布于 06/21 19:09
字数 594
阅读 90
收藏 0
<?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>
		<property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
	</properties> -->
	
	<!-- 
		<properties>:设置或引入资源文件
		resource:在类路径下访问资源文件
		url:在网络路径或磁盘路径下访问资源文件
	 -->
	<properties resource="jdbc.properties"></properties>
	
	<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"/>
	</settings>
	
	<typeAliases>
		<!-- 
			为类型设置类型别名
			type:Java 类型,若只设置type,默认的别名就是类型,且不区分大小写
		 -->
		<!-- <typeAlias type="com.atguigu.bean.User" alias="u"/> 不建议-->
		<!-- 这种写法在XxxMapper.xml的resultType只需要写个Xxx就可以 -->
		<package name="com.atguigu.bean"/>
	</typeAliases>
	
	
	<!-- 
		<environments>:设置连接数据库的环境
		default:设置默认使用的数据库环境
	 -->
	<environments default="mysql">
		<!-- 
			<environment>:设置某个具体的数据库的环境
			id:数据库环境的唯一标示
		 -->
		<environment id="mysql">
			<!-- type="JDBC|MANAGED" -->
			<transactionManager type="JDBC" />
			<!-- type="POOLED|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>
		
		<environment id="oracle">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url" value="jdbc:mysql://localhost:3306/ssm" />
				<property name="username" value="root" />
				<property name="password" value="123456" />
			</dataSource>
		</environment>
	</environments>
	<!-- 引入映射文件 -->
	<mappers>
	<!-- 引入具体的映射文件 -->
		<mapper resource="UserMapper.xml" />
	</mappers>
</configuration>
<?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">
 
 <!-- 这个用来指定对应的dao接口 -->
<mapper namespace="com.atguigu.mapper.UserMapper">
	
	<!-- 
		<select>:定义查询语句
		id:设置SQL语句的唯一标示
		resultType:结果类型,即实体类的全限定名
		resultType如果在sqlMapConfig.xml中配置过typeAlisas,则按起的别名来,不建议
	 -->
	<select id="getUserByUid" resultType="com.atguigu.bean.User">
		select uid,username,password,age,sex from user where uid = ${value}
	</select>
	
</mapper>
package com.atguigu.mapper;

import com.atguigu.bean.User;

public interface UserMapper {
    //和UserMapper.xml中的sql的id对应的
	/**
	 * <!-- 
		<select>:定义查询语句
		id:设置SQL语句的唯一标示
		resultType:结果类型,即实体类的全限定名
	 -->
	<select id="getUserByUid" resultType="com.atguigu.bean.User">
		select uid,username,password,age,sex from user where uid = ${value} 或者#{id}
	</select>
	
	 * @param uid
	 * @return
	 */
	User getUserByUid(String uid);
	
}
package com.atguigu.mapper;

import static org.junit.Assert.*;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

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.atguigu.bean.User;

public class TestMybatis {

	@Test
	public void test() throws IOException {
		
		InputStream is = Resources.getResourceAsStream("mybatis-config.xml");//org.apache.ibatis.io.Resources
		//InputStream is = TestMybatis.class.getClassLoader().getResourceAsStream("mybatis-config.xml");
		SqlSessionFactory sqlSessionFactory = 
				new SqlSessionFactoryBuilder().build(is);
		SqlSession sqlSession = sqlSessionFactory.openSession();
		//getMapper():会通过动态代理动态生成UserMapper的代理实现类
		UserMapper mapper = sqlSession.getMapper(UserMapper.class);
		System.out.println(mapper.getClass().getName());//com.sun.proxy.$Proxy4这个为生成的代理对象
		User user = mapper.getUserByUid("1");
		System.out.println(user);
		//user_name ---> userName
	}
	
}

© 著作权归作者所有

architect刘源源

architect刘源源

粉丝 174
博文 564
码字总数 941209
作品 0
浦东
程序员
私信 提问
早前学习Java记录

Spring 对 iBATIS 的支持】 Spring 通过 DAO 模式,提供了对 iBATIS 的良好支持。 SqlMapClient:是 iBATIS 中的主要接口,通过 xml 配置文件可以让 Spring 容器来管理 SqlMapClient 对象的创...

大风厂蔡成功
2016/07/10
43
0
maven+springMVC+mybatis+junit详细搭建过程

springMVC+mybatis框架搭建 在上一遍博客中以及讲诉了新建maven项目的流程,现在紧跟上一遍文章,接着搭建spring项目 首先我们先要弄清搭建项目的一般流程,需要注意哪些方面,想要什么样的效...

江湖三弟
2014/02/12
48.9K
61
有没有推荐的可以加快开发速度的web框架?

现在用的是SSM 框架,用的 还算蛮熟悉的,整体框架流程 改精简的都精简了,但是用久了 速度上来说 就有些 不尽人意, 从 mapper 里面 配置 语句 到 service 里面引用 ,一部分时间 花在这一块...

S沐大大
2016/11/09
1K
22
MyBatis源码窥探:MyBatis整体架构解析

Mybatis的使用这里就不介绍了,不知道怎么使用的朋友可以点击 http://www.mybatis.org/mybatis-3/zh/index.html 这里面的教程很详细,包括xml的配置、映射、动态sql都有介绍,可以学习和使用...

java邵先生
01/15
0
0
paascloud v1.0 正式发布:潜心之作,快速搭建企业级微服务平台

spring cloud + vue 全家桶实战,模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目 技术点: 核心技术为springcloud+vue两个全家桶实现,采取了取自开源用于开源的...

刘兆明
2018/03/22
1K
8

没有更多内容

加载失败,请刷新页面

加载更多

为构建社交关系链手淘都做了啥?

作者|王卫(泓冰) 出品|阿里巴巴新零售淘系技术部 01、淘宝社交关系推荐的背景 1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一...

阿里云官方博客
14分钟前
3
0
Iaas/Paas/Saas有何区别,一个故事告诉你

云计算有三种服务模式,IaaS,PaaS和SaaS。单从英文全称去理解,他们分别是“基础设施即服务”“平台即服务”和“软件即服务”。 这样翻译过来可不好理解,但是我们可以举个例子。现在我们就以...

JEPaaS云平台
21分钟前
3
0
温度传感器怎么测好坏

  温度传感器也就是负温度系数热敏电阻,温度越高,电阻越小,测量时先看其阻值能不能根据温度的变化而变,再看其变化的阻值是不是在标定的范围之内。   有以下四种方法;   1、若是有...

仙溪
22分钟前
3
0
zk中ZooKeeperServer解析

内部类 ChangeRecord 处理PrepRP和FinalRP之间的信息 static class ChangeRecord { ChangeRecord(long zxid, String path, StatPersisted stat, int childCount, List<ACL> acl) {......

writeademo
32分钟前
3
0
LNMP---安装worrdpress、discuz,域名重定向,用户认证,nginx访问日志

4.34 安装wordpress 4.35 安装discuz 4.36 域名重定向 4.37 用户认证 4.38 nginx访问日志 一、安装wordpress 创建博客: 添加一个博客的虚拟主机 blog.tobe.com.conf 做如下更改 安装博客wor...

tobej
34分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部