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