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 ... 
随机推荐
- $_SESSION  $_COOKIE
			$_SESSION是临时会话变量,用来储存访问者信息.内容是储存在服务器上面的.比如 $_SESSION["ABC"] = "aaa";那么这个用户访问时,$_ ... 
- 关于Java自动拆箱装箱中的缓存问题
			package cn.zhang.test; /** * 测试自动装箱拆箱 * 自动装箱:基本类型自动转为包装类对象 * 自动拆箱:包装类对象自动转化为基本数据类型 * * * /*缓存问题*/ /* ... 
- 求素数的一个快速算法 Python 快速输出素数算法
			思想 以100以内为例. 生成一个全是True的101大小的数组 2开始,遇到2的倍数(4,6,8,10...)都赋值为False 因为这些数字都有因子 2 3开始,遇到3的倍数(6,9,12...) ... 
- Linux-竟态初步引入
			(1).竟态全称是:竞争状态,多进程环境下,多个进程同时抢占系统资源(内存.CPU.文件IO). (2).竞争状态对于操作系统OS来说是很危险的,此时的操作系统OS如果没有处理好就会造成结果不确定. ... 
- Activity组件(二):通过显式意图和隐式意图来跳转至第三方应用
			一.显式意图来跳转到第三方应用 /** * 这个方法会在点击按钮的时候执行 * @param view */ public void skip2Browser(View view){ Log.d(TA ... 
- PHP 5.3 新特性
			1 PHP 5.3中的新特性 1.1 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只需要指定不同的命名空间即可,命名空间的分隔符 ... 
- tensorflow用法记录
			使用 embedding 变量 import tensorflow as tf import numpy as np sess = tf.InteractiveSession() M = list(' ... 
- 手动安装GCC4.8.5
			服务器是 redhat 6,安装xgboost时,提示自带gcc 太老, 需要手动升级. 1). 手动安装 mpc-0.8.2.tar.gz, 用默认参数, 安装完后添加系统变量 export LD_ ... 
- 吴裕雄--天生自然 PYTHON3开发学习:OS 文件/目录方法
			import os, sys # 假定 /tmp/foo.txt 文件存在,并有读写权限 ret = os.access("/tmp/foo.txt", os.F_OK) prin ... 
- hm nsis edit请求的操作需要提升
			第一次用nsis做安装包,编译运行出现这个问题,解决办法:管理员身份运行即可 
