Mybatis快速入门
来源:互联网 发布:海尔收购三洋 知乎 编辑:程序博客网 时间:2024/06/06 03:47
MyBatis使用示例
下面是一个简单的MyBatis使用DEMO。
整体代码大致如下:
POM依赖
需要引用两个jar包,一个是mybatis,另一个是mysql-connector-java,如果是maven工程的话,pom里如下添加依赖就可以了。
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.0.8</version> </dependency></dependencies>
数据准备
CREATETABLE `book1` ( `id` varchar(32) NOT NULL, `bookname` varchar(40) DEFAULT NULL, `price` int(11) DEFAULT NULL, PRIMARY KEY (`id`))
配置文件
需要两个配置文件,一个是MyBatis的配置文件mybatis-config.xml,示例中是一个很简单配置,详细的配置网上有很多说明
<?xmlversionxmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <environments default="development"> <environment id="development"> < transactionManager typetransactionManagertype="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="com/hys/test/book/dao/bookMapper.xml"/> </mappers> </configuration>
<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.hys.test.book.dao.BookMapper"> <!--这里namespace必须是UserMapper接口的路径” --> <!--这里的id必须和UserMapper接口中的接口方法名相同 --> <insert id="insertBook"parameterType="com.hys.test.book.entity.Book"> insert into book(id,bookname,price)values(#{id},#{bookname},#{price}) </insert> <select id="getBook"resultType="com.hys.test.book.entity.Book" parameterType="String"> select * from book where id = #{id} </select></mapper>
源代码
创建接口BookMapper
package com.hys.test.book.dao;import com.hys.test.book.entity.Book;public interface BookMapper { public void insertBook(Bookbook); public Book getBook(Stringid);}
实体类Book.java
package com.hys.test.book.entity;public class Book { private String id; private String bookname; private int price; public Book() { //TODO Auto-generated constructor stub } public Book(String id, String bookname,int price) { this.id = id; this.bookname = bookname; this.price = price; } public String getId() { returnid; } public void setId(Stringid) { this.id = id; } public String getBookname() { return bookname; } public void setBookname(String bookname) { this.bookname = bookname; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } @Override public String toString() { return "Book [id=" +id +", bookname=" +bookname +", price=" +price +"]"; } }
测试
通过MyBatis操作数据库用到的是一个叫SqlSession的类,这个类是通过SqlSessionFactory产生的,一般建议在全局维护一个SqlSessionFactory就可以了。
BookService.java
package com.hys.test.book.service;import java.io.IOException;import java.io.Reader;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.hys.test.book.dao.BookMapper;import com.hys.test.book.entity.Book; public class BookService { private static SqlSessionFactorysqlSessionFactory; private static SqlSessionsqlSession; static { String resource ="mybatis-config.xml"; Reader reader =null; try { reader = Resources.getResourceAsReader(resource); }catch (IOExceptione) { System.out.println(e.getMessage()); } sqlSessionFactory =new SqlSessionFactoryBuilder().build(reader); sqlSession =sqlSessionFactory.openSession(); } public static void testAdd(){ try { BookMapper bookMapper =sqlSession.getMapper(BookMapper.class); Book book =new Book("003","java基础",89); bookMapper.insertBook(book); sqlSession.commit(); }finally { sqlSession.close(); } } public static void getBook(){ try { BookMapper bookMapper =sqlSession.getMapper(BookMapper.class); Book book =bookMapper.getBook("001"); System.out.println(book.toString()); }finally { sqlSession.close(); } }}
BookAction.java
package com.hys.test.book.action;import com.hys.test.book.service.BookService;public class BookAction { public static void main(String[]args) { BookService.getBook(); }}
结果:
0 0
- MyBatis-----1、MyBatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis快速入门经典
- mybatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- Mybatis快速入门指南
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis-快速入门
- MyBatis快速入门
- MyBatis --快速入门
- MyBatis --快速入门
- mybatis 快速入门
- mybatis快速入门
- mybatis快速入门
- (3)Storm实时日志分析实战--编码实现
- 内存区域的划分和分配
- SVM总结
- CentOS 7.2 安装openssl 1.1.0c
- 一款简单易用的 Toast 组件,支持 Android&iOS
- Mybatis快速入门
- OFBiz目录结构
- React的react-side-effect/react-document.title源码浅析
- Mysql 利用group by 分组排序
- jscoverage——js覆盖率测试工具
- SSL证书与Https应用部署小结
- mysql TO_DAYS 和 FROM_DAYS
- 超简易,极基础,巨详细的SSM(Spring +Springmvc+Mybatis)框架整合搭建1.0版
- javaScript之函数,分支结构 ,循环结构(二)