mybatis 简单实例

发布时间:2014-10-22 13:57:37编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"mybatis 简单实例",主要涉及到mybatis 简单实例方面的内容,对于mybatis 简单实例感兴趣的同学可以参考一下。

最近公司在用MyBatis开源框架,MyBatis是由原来的iBatis改名而来,目前已近发布了3.0.1版本。可以在官方网站http://www.mybatis.org下载。 MyBatis作为持久层框架,其主要思想是将程序中的大量sql语句剥离出来,配置在配置文件中,实现sql的灵活配置。这样做的好处是将sql与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改sql。下面给个简单的入门例子。 下面的例子实现从数据库中查询商品表(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"> /* 自已加的 貌似要假如这样的字段映射 这个结果映射字段必须在查询sql中出现,否则会导致get("字段名")获取值时 报不存在这样的字段 <resultMap class="com.oryx.mybatis.Goods" id="Goods">  <result property="cateId" column="cateId" jdbcType="VARCHAR"/> //property是bean中的属性对象名 column是sql语句所要查询结果集的字段名 这个要一一对应  <result property="name" column="name"  jdbcType="VARCHAR" />   <result property="price" column="price"  jdbcType="VARCHAR"/> </resultMap> */   <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(); } } }


上一篇:绘制圆形
下一篇:boost 数据类型转换的方法

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款