mybatis 3.4.5 HelloWorld 01
2017-12-20 15:39
423 查看
在SSH框架盛行的时代,ORM和持久层框架都不断响彻在耳边,今天如歌就带领大家一起来认识另一种持久层框架;
mybatis是Apache下的顶级项目,是一个持久层框架,是一个不完全的ORM框架;
mybatis使得程序将主要精力放在了sql上,它通过自身提供的映射方式,自由且灵活地生成满足程序需要的sql语句(半自动化,大部分需要程序员自己编写);
mybatis可以将向PreparedStatement中输入的参数自动进行输入映射,将查询结果集灵活映射成Java对象(输出映射);
以上是如歌对mybatis基础的整理,希望能帮大家更好的了解MyBatis!如有更好的建议或者意见,请留言!
官网api
搭建开发环境
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.ruge</groupId> <artifactId>mybatis</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>mybatis Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17.redhat-3</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> <build> <finalName>mybatis</finalName> </build> </project>
创建数据库
/* Navicat MySQL Data Transfer Source Server : 爱丽丝、如歌 Source Server Version : 50717 Source Host : localhost:3306 Source Database : mybatis Target Server Type : MYSQL Target Server Version : 50717 File Encoding : 65001 Date: 2017-12-20 15:23:16 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `tbl_emp` -- ---------------------------- DROP TABLE IF EXISTS `tbl_emp`; CREATE TABLE `tbl_emp` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `gender` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of tbl_emp -- ---------------------------- INSERT INTO `tbl_emp` VALUES ('1', '张三', 'gen', '1@qq.com');
mybatis-config.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="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/Emp.xml"/> </mappers> </configuration>
Controller
package com.ruge.mybatis.controller; import com.ruge.mybatis.entity.Emp; import com.ruge.mybatis.mapper.EmpMapper; 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 org.junit.Test; import java.io.InputStream; import java.util.List; /** * @author 爱丽丝、如歌 * @Description: TODO * @date 2017/12/20 11:07 */ public class EmpController { @Test public void Conn() throws Exception{ String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); try { EmpMapper mapper = session.getMapper(EmpMapper.class); List<Emp> ee = mapper.select(1); System.out.println(ee); } finally { session.close(); } } }
Mapper
package com.ruge.mybatis.mapper; import com.ruge.mybatis.entity.Emp; import java.util.List; /** * @author 爱丽丝、如歌 * @Description: TODO * @date 2017/12/20 11:19 */ public interface EmpMapper { public List<Emp> select (); }
entity
package com.ruge.mybatis.entity; /** * @author 爱丽丝、如歌 * @Description: TODO * @date 2017/12/20 10:56 */ public class Emp { private int id; private String name; private String gender; private String email; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "Emp{" + "id=" + id + ", name='" + name + '\'' + ", gender='" + gender + '\'' + ", email='" + email + '\'' + '}'; } }
Emp.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.ruge.mybatis.mapper.EmpMapper"> <select id="select" resultType="com.ruge.mybatis.entity.Emp"> select * from tbl_emp where id = #{id} </select> </mapper>
总结
mybatis是Apache下的顶级项目,是一个持久层框架,是一个不完全的ORM框架;mybatis使得程序将主要精力放在了sql上,它通过自身提供的映射方式,自由且灵活地生成满足程序需要的sql语句(半自动化,大部分需要程序员自己编写);
mybatis可以将向PreparedStatement中输入的参数自动进行输入映射,将查询结果集灵活映射成Java对象(输出映射);
以上是如歌对mybatis基础的整理,希望能帮大家更好的了解MyBatis!如有更好的建议或者意见,请留言!
相关文章推荐
- MyBatis_01_HelloWorld
- java框架之Mybatis01(mybatis-config.xml)
- Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld
- Delphi_01_控制台版HelloWorld
- 火推 java spring mybatis 企业项目合集 01-05
- Java基础01 从HelloWorld到面向对象
- Structs2 HelloWorld-03 复习-01
- Robotlegs教程01 -- HelloWorld
- 01Mybatis_课程安排
- [置顶] 自学-SpringMvc的HelloWorld-01
- MyBatis:快速入门实例 HelloWorld
- Hello Mybatis 01 第一个CRUD
- Mybatis异常_01_Invalid bound statement (not found)
- HelloWorld之MyBatis
- mybatis入门HelloWorld程序
- Springmvc系列01 Helloworld
- bc94 老司机学习MyBatis教程之MyBatis基础篇简单入门HelloWorld
- 整合Struts,Spring,mybatis三个框架的helloworld
- linux内核驱动01-helloworld
- MyBatis 学习总结 01 快速入门