myBatis经典入门实例.docx
- 文档编号:2894581
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:7
- 大小:16.22KB
myBatis经典入门实例.docx
《myBatis经典入门实例.docx》由会员分享,可在线阅读,更多相关《myBatis经典入门实例.docx(7页珍藏版)》请在冰豆网上搜索。
myBatis经典入门实例
周末学习了MyBatis开源框架,MyBatis是由原来的iBatis改名而来,目前已近发布了3.0.1版本。
可以在官方网站http:
//www.mybatis.org下载。
MyBatis作为持久层框架,其主要思想是将程序中的大量sql语句剥离出来,配置在配置文件中,实现sql的灵活配置。
这样做的好处是将sql与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改sql。
下面给个简单的入门例子。
下面的例子实现从数据库中查询商品表(Goods)中id为1的商品,并打印出商品名称。
数据库建表脚本如下:
DROPTABLEGOODS;
CREATETABLEGOODS(
IDINTPRIMARYKEY,
CATE_IDINT,
NAMEVARCHAR(50),
PRICEDECIMAL(16,2),
DESCRIPTIONVARCHAR(100),
ORDER_NOINT,
UPDATE_TIMETIMESTAMP
);
数据库初始化脚本:
INSERTINTOGOODS(ID,CATE_ID,NAME,PRICE,DESCRIPTION,ORDER_NO,UPDATE_TIME)VALUES(1,1,'诺基亚N85',3010,'内置RealPlayer播放器',1,CURRENT_TIMESTAMP);
INSERTINTOGOODS(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配置文件。
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN"
"http:
//mybatis.org/dtd/mybatis-3-config.dtd">
typeAliases>
mysql: //localhost: 3306/test"/> dataSource> environment> environments> mappers> configuration> 二、Mapper.xml配置文件 接着编写GoodsMapper.xml配置文件。 Mapper配置文件主要是实现POJO类和sql之间的映射。 xmlversion="1.0"encoding="UTF-8"? > DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN" "http: //mybatis.org/dtd/mybatis-3-mapper.dtd"> select*fromGoodswhereid=#{id} select> mapper> 其中#{id}是需要传入的参数,parameterType是参数的类型,resultType是查询返回的结果类。 这地方的Goods是一个别名,可以在configuration.xml文件中找到它对应的具体类。 由此可知查询结果集将保存在com.oryx.mybatis.Goods中返回。 三、Goods类 在工程中新建com.oryx.mybatis.Goods.java类。 packagecom.oryx.mybatis; importjava.sql.Timestamp; publicclassGoods{ privateStringid; privateStringcateId; privateStringname; privatedoubleprice; privateStringdescription; privateintorderNo; privateTimestampupdateTime; /** *@returnthegoodsid */ publicStringgetId(){ returnid; } /** *@paramgoodsidthegoodsidtoset */ publicvoidsetId(Stringid){ this.id=id; } /** *@returnthecateId */ publicStringgetCateId(){ returncateId; } /** *@paramcateIdthecateIdtoset */ publicvoidsetCateId(StringcateId){ this.cateId=cateId; } /** *@returnthename */ publicStringgetName(){ returnname; } /** *@paramnamethenametoset */ publicvoidsetName(Stringname){ this.name=name; } /** *@returntheprice */ publicdoublegetPrice(){ returnprice; } /** *@parampricethepricetoset */ publicvoidsetPrice(doubleprice){ this.price=price; } /** *@returnthedescription */ publicStringgetDescription(){ returndescription; } /** *@paramdescriptionthedescriptiontoset */ publicvoidsetDescription(Stringdescription){ this.description=description; } /** *@returntheorderNo */ publicintgetOrderNo(){ returnorderNo; } /** *@paramorderNotheorderNotoset */ publicvoidsetOrderNo(intorderNo){ this.orderNo=orderNo; } /** *@returntheupdateTime */ publicTimestampgetUpdateTime(){ returnupdateTime; } /** *@paramupdateTimetheupdateTimetoset */ publicvoidsetUpdateTime(TimestampupdateTime){ this.updateTime=updateTime; } } 四、测试用例 packagecom.oryx.mybatis; importjava.io.IOException; importjava.io.Reader; importjava.sql.SQLException; importorg.apache.ibatis.io.Resources; importorg.apache.ibatis.session.SqlSession; importorg.apache.ibatis.session.SqlSessionFactory; importorg.apache.ibatis.session.SqlSessionFactoryBuilder; publicclassTestMyBatis{ publicstaticvoidmain(String[]args)throwsSQLException,IOException{ Stringresource="com/oryx/mybatis/configuration.xml"; Readerreader=Resources.getResourceAsReader(resource); SqlSessionFactorysessionFactory=newSqlSessionFactoryBuilder().build(reader); SqlSessionsession=sessionFactory.openSession(); try{ Goodsgoods=(Goods)session.selectOne("com.oryx.mybatis.GoodsMapper.selectGoods",1); System.out.println("goodname: "+goods.getName()); }finally{ session.close(); } } } 实例源代码下载。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- myBatis 经典 入门 实例