mybatis
mybatis 是一款优秀的持久层框架,它支持定制化 sql、存储过程以及高级映射。mybatis 避免了几乎所有的 jdbc 代码和手动设置参数以及获取结果集。mybatis 可以使用简单的 xml 或注解来配置和映射原生信息,将接口和 java 的 pojos(plain old java objects,普通的 java对象)映射成数据库中的记录。
搭建mybatis
第一步:先创建一个项目,平常的java project就行,项目结构先看看
第二步:导入相关的jar包(可以上官网下,开源的):
•mybatis-3.4.4.jar mybatis的jar包
•mysql-connector-java-5.1.13-bin.jar mysql的jar包
第三步:编写一个配置文件。是一个xml文件mybatis-config.xml,位置放在src下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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>
<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/mobile" />
<property name= "username" value= "zhou" />
<property name= "password" value= "123456" />
</datasource>
</environment>
</environments>
<mappers>
<mapper resource= "com/entity/usermapper.xml" />
</mappers>
</configuration>
|
有关mybatis中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
27
28
29
30
31
32
33
34
|
<!-- 配置文件的根元素 -->
<configuration>
<!-- 属性:定义配置外在化 -->
<properties></properties>
<!-- 设置:定义mybatis的一些全局性设置 -->
<settings>
<!-- 具体的参数名和参数值 -->
<setting name= "" value= "" />
</settings>
<!-- 类型名称:为一些类定义别名 -->
<typealiases></typealiases>
<!-- 类型处理器:定义java类型与数据库中的数据类型之间的转换关系 -->
<typehandlers></typehandlers>
<!-- 对象工厂 -->
<objectfactory type= "" ></objectfactory>
<!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 -->
<plugins>
<plugin interceptor= "" ></plugin>
</plugins>
<!-- 环境:配置mybatis的环境 -->
<environments default = "" >
<!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->
<environment id= "" >
<!-- 事务管理器 -->
<transactionmanager type= "" ></transactionmanager>
<!-- 数据源 -->
<datasource type= "" ></datasource>
</environment>
</environments>
<!-- 数据库厂商标识 -->
<databaseidprovider type= "" ></databaseidprovider>
<!-- 映射器:指定映射文件或者映射类 -->
<mappers></mappers>
</configuration>
|
第四步:创建实体类,这个不用多说了,正常创建就ok
第五步:创建实体类的mapper映射xml文件,位置跟实体类同级,是对实体类的一些操作,在我认为就是配置了sql语句的赶脚,再去方法里调一下
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
30
|
<?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" >
<!-- namespace可以不加xml后缀 -->
<mapper namespace= "com.entity.usermapper" >
<!-- 单个对象查询 -->
<select id= "selectuser" parametertype= "int" resulttype= "com.entity.user" >
select * from user where id = #{id}
</select>
<!--查询列表 -->
<resultmap id= "userlist" type= "com.entity.user" >
<result property= "id" column= "id" />
<result property= "username" column= "username" />
<result property= "password" column= "password" />
</resultmap>
<select id= "selectall" resultmap= "userlist" >
select * from user
</select>
<!--插入数据 -->
<insert id= "insert" >
insert into user (username,password) values(#{username},#{password})
</insert>
<!--更新数据 -->
<update id= "update" >
update user set username = #{username},password = #{password} where id = #{id}
</update>
<!--删除数据 -->
<delete id= "delete" >
delete from user where id = #{id}
</delete>
</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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
package com.test;
import java.io.ioexception;
import java.io.inputstream;
import java.util.list;
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.entity.user;
/**
*
* @author 坚持到你gl
*
*/
public class test {
private static sqlsession session= null ;
public static sqlsession mysession() {
//你的mybatis的配置文件地址
string resource = "mybatis-config.xml" ;
inputstream inputstream= null ;
try {
//io解析xml文件
inputstream = resources.getresourceasstream(resource);
} catch (ioexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
//创建一个sqlsessionfactorybuilder对象,获得sqlsessionfactory 的实例
sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(inputstream);
//开启sqlsession
session=sqlsessionfactory.opensession();
return session;
}
private static void select(){
//selectuser是实体类映射文件的中设置的id
user user=mysession().selectone( "selectuser" , 2 );
system.out.println(user);
}
private static void selectall() {
list<user> list=mysession().selectlist( "selectall" );
for (user user : list) {
system.out.println(user);
}
}
private static void insert() {
user insertuser= new user( "zhou" , "123456" );
mysession().insert( "insert" ,insertuser);
session.commit();
}
private static void update() {
user updateuser = new user( 9 , "admin" , "admin" );
mysession().update( "update" , updateuser);
session.commit();
}
private static void delect() {
mysession().delete( "delete" , 10 );
session.commit();
}
public static void main(string[] args) {
selectall();
}
}
|
小项目微服务简单的开发,运用mybatis是非常不错的选择
以上这篇基于mybatis的简单使用(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/zhouguanglin/archive/2017/10/09/7643603.html