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.执行结果

时间: 2024-10-27 07:36:21

MyBatis学习笔记二:MyBatis生产中使用环境搭建的相关文章

mybatis学习笔记二mybatis结合spring mvc实现(用户登录,数据查询)

接着上次的来,我做了一个用户登录的例子 UserController: package com.yihaomen.controller; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.spring

mybatis学习笔记(14)-mybatis整合ehcache

mybatis学习笔记(14)-mybatis整合ehcache mybatis学习笔记14-mybatis整合ehcache 分布缓存 整合方法掌握 整合ehcache 加入ehcache的配置文件 ehcache是一个分布式缓存框架 分布缓存 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓存对缓存数据进行集中管理. mybatis无法实现分布式缓存,需要和其它分布式缓存框架进行整合.

mybatis学习笔记(二)-- 使用mybatisUtil工具类体验基于xml和注解实现

项目结构  基础入门可参考:mybatis学习笔记(一)-- 简单入门(附测试Demo详细过程) 开始体验 1.新建项目,新建类MybatisUtil.java,路径:src/util/MybatisUtil.java package util; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; i

MyBatis学习笔记(一)——MyBatis快速入门

一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 二.mybatis快速入门 2.1.准备开发环境 1.创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示: 2.添加相应

MyBatis学习笔记一:MyBatis最简单的环境搭建

MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础 1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做 mybatis的环境,普通java项目即可 ) 2.Person.java(纯POJO对象类) package com.orange.model; public class Person { private String name; private String address; public Stri

Android学习笔记之(一)开发环境搭建

至于说Android是什么之类的俺就不啰嗦了,因为它离我们太近了.直接上手配置环境.对于程序开发员来说,面对一个新的东西,上手莫过于几个东西了:开发包(提供了哪些API).编程语言(用什么语言来编程)和开发环境(包括IDE和Tools),然后就是工程文件结构(源文件.编译生成的文件和资源文件等放在哪)和第一个HelloWorld程序了.呵呵,个人浅见,若有不妥,还望赐教.那这个开发环境的搭建就是这么些个步骤了. Android SDK 提供了开发Android软件必需的API库和开发工具.目前的

MyBatis学习笔记(二) 关联关系

今天主要学习的关联关系是一对一关系与一对多关系. 一.一对一关系 还是通过例子来解释说明.(一个妻子对应一个丈夫). 1)数据库信息 1 create table t_wife( 2 id int primary key auto_increment, 3 wife_name varchar(20), 4 fk_husband_id int 5 ); 6 7 create table t_husband( 8 id int primary key auto_increment, 9 husban

Mybatis学习记录(二)--Mybatis开发DAO方式

mybatis开发dao的方法通常用两种,一种是传统DAO的方法,一种是基于mapper代理的方法,下面学习这两种开发模式. 写dao之前应该要对SqlSession有一个更加细致的了解 一.mybatis的SqlSession使用范围 SqlSessionFactoryBuilder用于创建SqlSessionFacoty,SqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory生产

mybatis学习笔记一mybatis结合spring配置

这两天,开始学习mybatis,有点感觉,分享一下,在这里要感谢一号门博客  链接:http://www.yihaomen.com/article/java/426.htm 首先项目示例图给大家看一下: applicationContext.xml类: <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/bea