Mybatis初学

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

Mybatis简介大家可以自行google之。官网为:http://code.google.com/p/mybatis/

我也刚刚开始初学,先来一个小例子:

创建一个User.java文件,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package  com.rollen;
 
public  class  User {
     private  String name;
     private  int  age;
     public  String getName() {
         return  name;
     }
     public  void  setName(String name) {
         this .name = name;
     }
     public  int  getAge() {
         return  age;
     }
     public  void  setAge( int  age) {
         this .age = age;
     }
     @Override
     public  String toString() {
         
         return  "Name:" +name+ "Age" +age;
     }
     
     
}

  上面的java文件位于com.rollen包中,然后在这个包中建立generator.xml文件,代码为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<? 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
         < typeAlias  alias="User" type="com.rollen.User" /> 
     </ typeAliases
     < environments  default="development"> 
         < environment  id="development"> 
             < transactionManager  type="JDBC" /> 
             < dataSource  type="POOLED"> 
                 < property  name="driver" value="com.mysql.jdbc.Driver" /> 
                 < property  name="url" value="jdbc:mysql://localhost:3306/user_db" /> 
                 < property  name="username" value="root" /> 
                 < property  name="password" value="root" /> 
             </ dataSource
         </ environment
     </ environments
     < mappers
         < mapper  resource="com/rollen/user.xml" /> 
     </ mappers
</ configuration

  在com.rollen包下面创建user.xml文件,代码为:

1
2
3
4
5
6
7
8
<? 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">
< mapper  namespace="com.rollen.User">
     < select  id="selectUser" parameterType="int" resultType="User" >
          select * from user where age = #{age}
     </ select >
</ mapper >

我们最后编写一个测试类,代码如下“:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package  com.rollen;
import  java.io.*;
 
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  Test {
     public  static  void  main(String[] args) {
         String resource= "com/rollen/generatorConfig.xml" ;
         Reader reader =  null ;
         try  {
             reader = Resources.getResourceAsReader(resource);
         catch  (IOException e) {
             e.printStackTrace();
         }
         SqlSessionFactory factory= new  SqlSessionFactoryBuilder().build(reader);
         SqlSession sqlSession = factory.openSession();
         
         try  {
             User user=sqlSession.selectOne( "selectUser" 10 );
             System.out.println(user);
         } finally {
             sqlSession.close();
         }
         
     }
}

  在上面的generateConfig.xml文件中,也可以改为这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<? 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="username" value="root" />
     </ properties >
     < typeAliases >
         < typeAlias  alias="User" type="com.rollen.User" />
     </ typeAliases >
     < environments  default="development">
         < environment  id="development">
             < transactionManager  type="JDBC" />
             < dataSource  type="POOLED">
                 < property  name="driver" value="com.mysql.jdbc.Driver" />
                 < property  name="url" value="jdbc:mysql://localhost:3306/user_db" />
                 < property  name="username" value="${username}" />
                 < property  name="password" value="root" />
             </ dataSource >
         </ environment >
     </ environments >
     < mappers >
         < mapper  resource="com/rollen/user.xml" />
     </ mappers >
</ configuration

  注意,和上面的区别是我们添加了:

1
2
3
< properties >
         < property  name="username" value="root" />
     </ properties >

  并且修改了这行代码:

1
< property  name="username" value="${username}" />

  还可以有如下的修改方法,新建一个config.properties文件,文件内容为:

1
password=root

  然后将generatorconfig.xml文件的内容改为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<? 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  resource="com/rollen/config.properties">
         < property  name="username" value="root" />
     </ properties >
     < typeAliases >
         < typeAlias  alias="User" type="com.rollen.User" />
     </ typeAliases >
     < environments  default="development">
         < environment  id="development">
             < transactionManager  type="JDBC" />
             < dataSource  type="POOLED">
                 < property  name="driver" value="com.mysql.jdbc.Driver" />
                 < property  name="url" value="jdbc:mysql://localhost:3306/user_db" />
                 < property  name="username" value="${username}" />
                 < property  name="password" value="${password}" />
             </ dataSource >
         </ environment >
     </ environments >
     < mappers >
         < mapper  resource="com/rollen/user.xml" />
     </ mappers >
</ configuration

  需要注意的是如下的两行代码:

1
2
3
< properties  resource="com/rollen/config.properties">
....
< property  name="password" value="${password}" />

  


==============================================================================
本文转自被遗忘的博客园博客,原文链接:http://www.cnblogs.com/rollenholt/archive/2012/11/06/2757553.html,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL Java 数据库连接
|
7月前
|
SQL Java 数据库连接
|
7月前
|
SQL Java 数据库连接
|
11天前
|
Java 关系型数据库 数据库连接
Mybatis-plus
Mybatis-plus
|
7月前
|
XML Java 数据库连接
|
4月前
|
Java 数据库连接 测试技术
mybatis中@Many
mybatis中@Many
29 0
|
6月前
|
SQL Java 数据库连接
14MyBatis - MyBatis介绍
14MyBatis - MyBatis介绍
21 0
|
Java 数据库连接 mybatis
MyBatis总结
MyBatis总结
52 0
MyBatis总结