MyBatis学习1之MyBatis快速入门
一、MyBatis介绍(http://www.mybatis.org/mybatis-3/zh/index.html)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
二、MyBatis快速入门
1、开发环境搭建
1.1创建maven工程(注:笔者这里创建的是java工程,数据库使用sqlite)
1.2在pom.xml文件中添加sqlite数据库驱动包与mybatis包
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.8.11.2</version>
</dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
1.3创建表t_group、t_person(此处创建表的过程忽略,sqlite创建表和mysql中创建表操作相似)
2、使用mybatis框架编写一个简单的查询
2.1编写与t_group表对应的实体类
public class Group { private int id; private String groupName; private String description; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getGroupName() { return groupName; } public void setGroupName(String groupName) { this.groupName = groupName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }
2.2添加MyBatis的配置文件mybatis.xml
<?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="org.sqlite.JDBC" /> <property name="url" value="jdbc:sqlite:cfg/ht.db" /> <property name="username" value="" /><!-- sqlite属于内置文件型数据库不需要用户名和密码 --> <property name="password" value="" /> </dataSource> </environment> </environments> </configuration>
2.3编写与t_group表对应sql映射文件GroupMapper.xml
<?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.zlt.mybatis.model.Group"> <select id="selectGroupByID" parameterType="int" resultType="Group" > select t.id,t.group_name,t.description from t_group t where t.id = #{id} </select> </mapper>
2.4在mybatis.xml文件中注册GroupMapper.xml文件
在mybatis.xml文件中添加以下内容
<mappers> <mapper resource="com/zlt/mybatis/mapping/GroupMapper.xml" /> </mappers>
2.5编写测试类
从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。但是也可以使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者 file:// 的 URL 形式的文件路径来配置。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,可使从 classpath 或其他位置加载资源文件更加容易。
public class TestMyBatis { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try { reader = Resources.getResourceAsReader("mybatis.xml");//加载mybatis的配置文件 sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);//构建sqlSession的工厂 } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { SqlSession session = sqlSessionFactory.openSession();///创建能执行映射文件中sql的sqlSession String statement = "com.zlt.mybatis.model.Group.selectGroupByID";////映射sql的标识字符串 Group group = session.selectOne(statement, 1);////执行查询返回一个唯一group对象的sql if(null != group) { System.out.println("id:" +group.getId()+"name:" +group.getGroupName()+"description:" + group.getDescription()); } } }
2.6运行结果(注:结果虽然出来了,但是group_name属性查出来是空的,而表中的记录是有值的,下一节分析)
2.7最后整个项目结构如下:
上一篇: freyja 将引入另外一项功能大幅提高服务器性能
下一篇: freyja 可能会加入分库、分表功能
推荐阅读
-
PHP学习之SQL语句快速入门
-
mybatis学习笔记之mybatis注解配置详解
-
大数据学习之Hadoop快速入门
-
一起学MyBatis之入门篇(2)
-
MyBatis从入门到精通(八):MyBatis动态Sql之foreach标签的用法
-
mybatis框架快速入门
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
-
深入学习Mybatis框架(一)- 入门
-
mybatis入门(1)——第一个mybatis程序
-
MyBatis学习总结(一)——ORM概要与MyBatis快速起步