`
weitao1026
  • 浏览: 1034687 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mybatis的配置config文件

阅读更多
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

二、mybatis快速入门

2.1、准备开发环境

1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:

  

2、添加相应的jar包

  【mybatis】

        mybatis-3.1.1.jar

  【MYSQL驱动包】
    mysql-connector-java-5.1.7-bin.jar

   

3、创建数据库和表,针对MySQL数据库

  SQL脚本如下:

1 create database mybatis;
2 use mybatis;
3 CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
4 INSERT INTO users(NAME, age) VALUES('孤傲苍狼', 27);
5 INSERT INTO users(NAME, age) VALUES('白虎神皇', 27);
  将SQL脚本在MySQL数据库中执行,完成创建数据库和表的操作,如下:

  

  到此,前期的开发环境准备工作全部完成。

2.2、使用MyBatis查询表中的数据

  1、添加Mybatis的配置文件conf.xml

  在src目录下创建一个conf.xml文件,如下图所示:

  

  conf.xml文件中的内容如下:

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
3 <configuration>
4     <environments default="development">
5         <environment id="development">
6             <transactionManager type="JDBC" />
7             <!-- 配置数据库连接信息 -->
8             <dataSource type="POOLED">
9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16    
17 </configuration>
  2、定义表所对应的实体类,如下图所示:

  

  User类的代码如下:

1 package me.gacl.domain;
2
3 /**
4  * @author gacl
5  * users表所对应的实体类
6  */
7 public class User {
8
9     //实体类的属性和表的字段名称一一对应
10     private int id;
11     private String name;
12     private int age;
13
14     public int getId() {
15         return id;
16     }
17
18     public void setId(int id) {
19         this.id = id;
20     }
21
22     public String getName() {
23         return name;
24     }
25
26     public void setName(String name) {
27         this.name = name;
28     }
29
30     public int getAge() {
31         return age;
32     }
33
34     public void setAge(int age) {
35         this.age = age;
36     }
37
38     @Override
39     public String toString() {
40         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
41     }
42 }
  3、定义操作users表的sql映射文件userMapper.xml

  创建一个me.gacl.mapping包,专门用于存放sql映射文件,在包中创建一个userMapper.xml文件,如下图所示:

  

  userMapper.xml文件的内容如下:

1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
4 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
5  -->
6 <mapper namespace="me.gacl.mapping.userMapper">
7     <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
8     使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
9     resultType="me.gacl.domain.User"就表示将查询结果封装成一个User类的对象返回
10     User类就是users表所对应的实体类
11     -->
12     <!--
13         根据id查询得到一个user对象
14      -->
15     <select id="getUser" parameterType="int"
16         resultType="me.gacl.domain.User">
17         select * from users where id=#{id}
18     </select>
19 </mapper>
  4、在conf.xml文件中注册userMapper.xml文件

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
3 <configuration>
4     <environments default="development">
5         <environment id="development">
6             <transactionManager type="JDBC" />
7             <!-- 配置数据库连接信息 -->
8             <dataSource type="POOLED">
9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16    
17     <mappers>
18         <!-- 注册userMapper.xml文件,
19         userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
20         <mapper resource="me/gacl/mapping/userMapper.xml"/>
21     </mappers>
22    
23 </configuration>
  5、编写测试代码:执行定义的select语句

  创建一个Test1类,编写如下的测试代码:

package me.gacl.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import me.gacl.domain.User;
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 Test1 {

    public static void main(String[] args) throws IOException {
        //mybatis的配置文件
        String resource = "conf.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        //Reader reader = Resources.getResourceAsReader(resource);
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中sql的sqlSession
        SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串,
         * me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        String statement = "me.gacl.mapping.userMapper.getUser";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        User user = session.selectOne(statement, 1);
        System.out.println(user);
    }
}
  执行结果如下:

  
分享到:
评论

相关推荐

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    在MyBatis中,`mybatis-3-config.dtd` 和 `mybatis-3-mapper.dtd` 是两个至关重要的DTD(Document Type Definition)文件,它们定义了MyBatis配置文件和映射文件的结构和规则。 首先,让我们深入了解一下`mybatis-3...

    mybatis配置文件以及日志文件Log4j

    在"mybatis-3.4.5.zip"中,你将找到MyBatis的核心库,包括主配置文件(mybatis-config.xml)和其他相关配置文件。这些配置文件是MyBatis运行的关键,它们定义了数据源、事务管理器、映射文件的位置等信息。具体来说...

    mybatis配置文件 config与mapper

    首先,`mybatis-config.xml`是MyBatis的全局配置文件,它是整个MyBatis系统的起点。以下是一些主要配置项的解析: 1. **properties**: 用于加载属性文件,提供动态配置,如数据库连接URL、用户名和密码等。 2. **...

    mybatis配置dtd文件

    在你提到的“mybatis配置dtd文件”中,主要涉及的是`mybatis-3-config.dtd`和`mybatis-3-mapper.dtd`这两个文件。 `mybatis-3-config.dtd`是MyBatis配置文件的DTD,它是`mybatis-config.xml`的基础。这个文件定义了...

    mybatis-config配置文件

    mybatis-config

    Mybatis-3.2.7 jar包sqConf.xml ,MybatisConfig.xml主方法配置

    在 Mybatis-3.2.7 版本中,主要的配置文件是 `sqlConf.xml` 和 `MybatisConfig.xml`,这两个文件是 Mybatis 配置的核心部分。 1. **sqlConf.xml**: 这个文件是 Mybatis 的核心配置文件,通常命名为 `mybatis-...

    Mybatis主配置文件、附配置文件、实体类、sql生成工具

    Mybatis的主配置文件(通常命名为`mybatis-config.xml`)是整个Mybatis框架的核心,它定义了Mybatis的基本属性,包括数据源、事务管理器、环境、插件等。以下是一些主要配置项: 1. **数据源(DataSource)**:定义...

    mybatis-config.xml

    mybatis的配置文件(数据库时mysql8)

    Mybatis-generator 生成Mybatis配置文件

    【Mybatis-generator 生成Mybatis配置文件】 Mybatis Generator 是一款强大的工具,它能够自动根据数据库表结构生成MyBatis的映射文件、实体类以及Mapper接口,极大地提高了开发效率。在项目开发过程中,手动编写...

    spring springmvc mybatis配置文件

    在"spring springmvc mybatis配置文件"中,我们将深入探讨这三者如何配置和协同工作。 首先,Spring配置文件(如`applicationContext.xml`)是整个SSM架构的核心。它定义了Bean的生命周期和依赖关系,包括数据源、...

    09MyBatis配置 sqlMapConfig1

    MyBatis配置文件sqlMapConfig1详解 MyBatis是一个流行的基于Java的持久层框架,用于简化Java应用程序中的数据访问。它提供了一个灵活的SQL映射框架,支持各种数据库管理系统,包括MySQL、Oracle、SQL Server等。...

    db2 mybatis 配置文件

    E:\mybatis-generator-core-1.3.2\mybatis-generator-core-1.3.2\lib&gt;java -jar mybat is-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite MyBatis Generator finished successfully.

    mybatis配置文件生成jar包

    本教程将详细解释如何生成包含MyBatis配置文件的JAR包,并在命令行环境中运行该JAR包来生成Mapper配置。 首先,理解MyBatis的核心组件和配置文件: 1. **mybatis-config.xml**:这是MyBatis的全局配置文件,包含了...

    mybatis的config和mapper-dtd

    MyBatis配置文件(mybatis-3-config.dtd)** MyBatis的配置文件通常以`mybatis-config.xml`命名,其结构遵循`mybatis-3-config.dtd`文档类型定义。这个DTD文件定义了所有可用的配置元素和属性,使得开发者能够声明...

    mybatis-config.xml文件配置问题

    Question one:mybatis配置文件标签组成及排序 Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 99; column...

    mybatis配置xml最新dtd文件

    这些文件定义了MyBatis配置文件(mybatis-3-config.xml)和映射文件(mapper.xml)的元素、属性和它们的顺序。 首先,`mybatis-3-config.dtd`是MyBatis配置文件的DTD。它定义了如下的主要元素: 1. `...

    【免费】mybatis3.2.3所需的jar包+mybatis3.2.3中文帮助文档+mybatis-config.dtd

    其次,`mybatis-config.dtd`文件是MyBatis配置文件的DTD(Document Type Definition),定义了`mybatis-config.xml`文件的结构和元素。在MyBatis的配置文件中,你可以设置数据库连接信息、事务管理器、环境配置等,...

Global site tag (gtag.js) - Google Analytics