Mybatis初学

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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" 
< 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"
< 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" 
< 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" 
< 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}" />
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
Java 数据库连接 mybatis
|
3月前
|
SQL XML Java
Mybatis02(二)
Mybatis02(二)
28 0
|
3月前
|
SQL Java 数据库连接
Mybatis02(一)
Mybatis02(一)
29 0
|
5月前
|
SQL Java 数据库连接
|
11月前
|
Java 数据库连接 测试技术
mybatis中@Many
mybatis中@Many
100 0
|
11月前
|
SQL 安全 Java
Mybatis中# 和 $ 的使用详解
Mybatis中# 和 $ 的使用详解
157 0
|
SQL 存储 算法
MyBatis-Plus详解
MyBatis-Plus详解
189 0
|
SQL 存储 缓存
Mybatis总结
1、MyBatis简介 1.1 MyBatis历史 1.2 MyBatis特性 2、搭建MyBatis 2.1 MySQL不同版本的注意事项 2.2 创建MyBatis的映射文件 3、核心配置文件详解 4、MyBatis获取参数值的两种方式 4.1 单个字面量类型的参数 4.2 多个字面量类型的参数 4.3 map集合类型的参数 4.4 实体类类型的参数 4.5 使用@Param标识参数 5、MyBatis特殊的SQL执行
172 0
Mybatis总结
|
SQL XML 存储
|
Java 数据库连接 Maven
整合mybatis
整合mybatis