MyBatis经典入门实例
2013-07-09 11:44
399 查看
MyBatis作为持久层框架,其主要思想是将程序中的大量sql语句剥离出来,配置在配置文件中,实现sql的灵活配置。这样做的好处是将sql与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改sql。下面给个简单的入门例子。
下面的例子实现从数据库中查询商品表(Goods)中id为1的商品,并打印出商品名称。
数据库建表脚本如下:
数据库初始化脚本:
一、configuration.xml配置文件
首先在工程中导入mybatis-3.0.1.jar包。然后编写configuration.xml配置文件。
二、Mapper.xml配置文件
接着编写GoodsMapper.xml配置文件。Mapper配置文件主要是实现POJO类和sql之间的映射。
其中#{id}是需要传入的参数,parameterType是参数的类型,resultType是查询返回的结果类。这地方的Goods是一个别名,可以在configuration.xml文件中找到它对应的具体类。
由此可知查询结果集将保存在com.oryx.mybatis.Goods中返回。
三、Goods类
在工程中新建com.oryx.mybatis.Goods.java类。
四、测试用例
/article/7070060.html MyBatis一般使用步骤
下面的例子实现从数据库中查询商品表(Goods)中id为1的商品,并打印出商品名称。
数据库建表脚本如下:
DROP TABLE GOODS; CREATE TABLE GOODS( ID INT PRIMARY KEY, CATE_ID INT, NAME VARCHAR(50), PRICE DECIMAL(16,2), DESCRIPTION VARCHAR(100), ORDER_NO INT, UPDATE_TIME TIMESTAMP );
数据库初始化脚本:
INSERT INTO GOODS(ID,CATE_ID,NAME,PRICE,DESCRIPTION,ORDER_NO,UPDATE_TIME) VALUES (1,1,'诺基亚N85',3010,'内置RealPlayer播放器',1,CURRENT_TIMESTAMP); INSERT INTO GOODS(ID,CATE_ID,NAME,PRICE,DESCRIPTION,ORDER_NO,UPDATE_TIME) VALUES (2,1,'金立 A30',2000,'标准锂电池两块',2,CURRENT_TIMESTAMP);
一、configuration.xml配置文件
首先在工程中导入mybatis-3.0.1.jar包。然后编写configuration.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> <typeAliases> <typeAlias alias="Goods" type="com.oryx.mybatis.Goods"/> typeAliases> <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/test"/> <property name="username" value="root"/> <property name="password" value="root"/> dataSource> environment> environments> <mappers> <mapper resource="com/oryx/mybatis/GoodsMapper.xml"/> mappers> configuration>
二、Mapper.xml配置文件
接着编写GoodsMapper.xml配置文件。Mapper配置文件主要是实现POJO类和sql之间的映射。
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.oryx.mybatis.GoodsMapper"> <select id="selectGood" parameterType="int" resultType="Goods"> select * from Goods where id = #{id} select> mapper>
其中#{id}是需要传入的参数,parameterType是参数的类型,resultType是查询返回的结果类。这地方的Goods是一个别名,可以在configuration.xml文件中找到它对应的具体类。
由此可知查询结果集将保存在com.oryx.mybatis.Goods中返回。
三、Goods类
在工程中新建com.oryx.mybatis.Goods.java类。
package com.oryx.mybatis; import java.sql.Timestamp; public class Goods { private String id; private String cateId; private String name; private double price; private String description; private int orderNo; private Timestamp updateTime; /** * @return the goodsid */ public String getId() { return id; } /** * @param goodsid the goodsid to set */ public void setId(String id) { this.id = id; } /** * @return the cateId */ public String getCateId() { return cateId; } /** * @param cateId the cateId to set */ public void setCateId(String cateId) { this.cateId = cateId; } /** * @return the name */ public String getName() { return name; } /** * @param name the name to set */ public void setName(String name) { this.name = name; } /** * @return the price */ public double getPrice() { return price; } /** * @param price the price to set */ public void setPrice(double price) { this.price = price; } /** * @return the description */ public String getDescription() { return description; } /** * @param description the description to set */ public void setDescription(String description) { this.description = description; } /** * @return the orderNo */ public int getOrderNo() { return orderNo; } /** * @param orderNo the orderNo to set */ public void setOrderNo(int orderNo) { this.orderNo = orderNo; } /** * @return the updateTime */ public Timestamp getUpdateTime() { return updateTime; } /** * @param updateTime the updateTime to set */ public void setUpdateTime(Timestamp updateTime) { this.updateTime = updateTime; } }
四、测试用例
package com.oryx.mybatis; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class TestMyBatis { public static void main(String[] args) throws SQLException, IOException{ String resource = "com/oryx/mybatis/configuration.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); try{ Goods goods = (Goods)session.selectOne("com.oryx.mybatis.GoodsMapper.selectGoods",1); System.out.println("good name:"+goods.getName()); }finally{ session.close(); } } }
实例源代码下载。
/article/7070060.html MyBatis一般使用步骤
相关文章推荐
- MyBatis经典入门实例
- MyBatis经典入门实例
- MyBatis经典入门实例
- MyBatis经典入门实例
- MyBatis经典入门实例
- Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】
- MyBatis入门实例-包括实体类与数据库字段对应&CLOB字段处理
- MyBatis入门学习(实例)
- MyBatis入门实例简介
- Hibernate入门经典实例
- Mybatis入门实例(三)——使用MyBatis Generator生成DAO
- Android开发入门经典实例
- Mybatis 入门之resultMap与resultType讲解实例
- Mybatis入门实例
- MyBatis入门实例 ——MyBatisUtil.java
- mybatis 详解(二)------入门实例(基于XML)
- mybatis入门实例(二)
- MyBatis代码实例系列-01:MyBatis简单搭建与入门实例
- MyBatis入门实例
- SSM框架(Spring Spring MVC Mybatis)基础入门学习3——Mybits入门实例(实例免费下载!)