MyBatis学习笔记二:MyBatis生产中使用环境搭建
这里是在上一个环境的基础上修改的,这里就不在给出所有的配置,只给出哪里修改的配置
1.修改POJO对象为注解方式

2.创建Dao层接口

package com.orange.dao;
import com.orange.model.Person;
public interface PersonDao {
// 这里的返回值和方法名必须和PersonMapper.xml中定义的执行语句的id一致
public Person selectPerson();
}
3.修改PersonMapper.xml映射文件
<?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"> <!-- 命名空间为com.orange.model.PersonMapper -->
<!-- <mapper namespace="com.orange.model.PersonMapper"> -->
<!-- 这里的命名空间使用dao层的完整路径 -->
<mapper namespace="com.orange.dao.PersonDao">
<!-- 返回的结果为person,这里使用映射类的注解中的命名作为返回值 -->
<select id="selectPerson" resultType="person">
select * from person
</select>
</mapper>
4.修改主配置文件mybatis.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>
<typeAliases>
<!-- 扫描所有的实体类POJO中的注解 -->
<package name="com.orange.model"/>
</typeAliases> <!-- 环境配置,可以配置多个环境,但是只会使用一个,defaut的值是哪个环境的id的值,即使用哪个环境 -->
<environments default="default">
<environment id="default">
<!-- 使用JDBC事务管理器 -->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED" >
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://172.16.100.10:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="mysql"/>
<property name="password" value="mysql"/>
</dataSource>
</environment>
</environments> <!-- 引入映射文件 -->
<mappers>
<mapper resource="com/orange/model/PersonMapper.xml"/>
</mappers>
</configuration>
5.Test1.java测试类
package mybatistest; import java.io.IOException;
import java.io.InputStream; 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 com.orange.dao.PersonDao;
import com.orange.model.Person; public class Test1 { public static void main(String[] args){
try {
// 读取配置文件到InputStream
InputStream is = Resources.getResourceAsStream("mybatis.xml"); // 创建SqlSessionFactory工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is); // 开启SqlSession
SqlSession session = factory.openSession(); // 使用session查询,这里的第一个参数就是定义的Mapper映射的命名空间和对应的语句组成,如果需要参数,可以加入参数
// Person person = (Person)session.selectOne("com.orange.model.PersonMapper.selectPerson");
// 这里使用反射,创建接口的代理实现对象并绑定对应的语句到方法上,所以接口中的方法和Mapper中的映射语句id对应
// 否则报异常,无法绑定
Person person = session.getMapper(PersonDao.class).selectPerson(); System.out.println("name: " + person.getName());
System.out.println("address: " + person.getAddress()); } catch (IOException e) {
e.printStackTrace();
}
}
}
6.执行结果

MyBatis学习笔记二:MyBatis生产中使用环境搭建的更多相关文章
- Mybatis学习笔记(二) —— mybatis入门程序
一.mybatis下载 mybaits的代码由github.com管理,下载地址:https://github.com/mybatis/mybatis-3/releases 下载完后的目录结构: 二. ...
- Mybatis学习笔记二
本篇内容,紧接上一篇内容Mybatis学习笔记一 输入映射和输出映射 传递简单类型和pojo类型上篇已介绍过,下面介绍一下包装类型. 传递pojo包装对象 开发中通过可以使用pojo传递查询条件.查询 ...
- MyBatis学习笔记(二)——使用MyBatis对表执行CRUD操作
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4262895.html 上一篇博文MyBatis学习总结(一)——MyBatis快速入门中我们讲了如何使用My ...
- mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现
项目结构 基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/Mybatis ...
- MyBatis学习笔记(二) 关联关系
首先给大家推荐几个网页: http://blog.csdn.net/isea533/article/category/2092001 没事看看 - MyBatis工具:www.mybatis.tk h ...
- Mybatis学习笔记(一) —— mybatis介绍
一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- MyBatis学习笔记(一)——MyBatis快速入门
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...
- Mybatis学习笔记(八) —— Mybatis整合spring
一.整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得sqlsession对象. 3.Mapper代 ...
- MyBatis学习笔记一:MyBatis最简单的环境搭建
MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础 1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做 my ...
随机推荐
- RAC,ReactiveSwift
1.创建信号 // 1.通过信号发生器创建(冷信号) let producer = SignalProducer<String, NoError>.init { (observer, _) ...
- UVA 658 状态压缩+隐式图+优先队列dijstla
不可多得的好题目啊,我看了别人题解才做出来的,这种题目一看就会做的实在是大神啊,而且我看别人博客都看了好久才明白...还是对状态压缩不是很熟练,理解几个位运算用了好久时间.有些题目自己看着别人的题解做 ...
- 60年前美国军方的这个编程原则,造就了多少伟大的框架--KISS原则
摘自:https://kb.cnblogs.com/page/654057/ 作者: 贺卓凡 来源: ImportSource 发布时间: 2020-01-23 19:52 阅读: 2324 次 ...
- springboot cloud 网盘
boot https://pan.baidu.com/s/12SkGJNu_M-I-pjg-GxqHRw 5uga boot-cloud https://pan.baidu.com/s/1gO ...
- SpringBoot2.0整合Quartz实现动态设置定时任务时间
一. 引入依赖 <!-- 引入quartz依赖 --> <dependency> <groupId>org.springframework.boot</ ...
- jacascript 滚动scroll
滚动 scroll scrollHeight 表示元素的总高度,包括由于溢出而无法展示在网页的不可见部分: scrollWidth 表示元素的总宽度,包括由于溢出而无法展示在网页的不可见部分: 没有滚 ...
- python获取当前的日期和时间
import datetime import time print ("格式参数:") print (" %a 星期几的简写") print (" % ...
- 画一画BeagleboneBlack的PCB
一直有听说“Cadence是这个星球上第一好用的EDA软件”,便想着找机会来学学.正好BeagleboneBlack是用Cadence设计的,而且是开源硬件,原理图和PCB文件可以直接在Wiki上下载 ...
- java 中的小数点、大数、随机数处理
1.小数点处理 public class Test { public static void main(String[] args) { double i = 3.856; // 舍掉小数取整 Sys ...
- eclipse安装tfs插件
Eclipse安装TFS插件 1.打开Eclipse.点击菜单栏上的 “Help”——>选择“Install New Software”. 2.在弹出框中输入点击“Add”. 3.在弹出框中 ...