如何运行mybatis运行流程自带的jpetstore

Maven Repository: org.mybatis >> org.mybatis
Group: org.mybatis
The MyBatis SQL mapper framework makes it easier to use a relational database with object-oriented
applications. MyBatis couples objects with stored procedures or SQL statements using a XML descriptor or
annotations. Simplicity is the biggest advantage of the MyBatis data mapper over object relational mapping
An easy-to-use Spring bridge for MyBatis sql mapping framework.
The MyBatis Guice module is easy-to-use Google Guice bridge for MyBatis sql mapping framework.
MyBatis Migrations
Ehcache support for MyBatis Cache
MyBatis Type Handlers supporting JSR-310
An easy-to-use Spring bridge for MyBatis 2 sql mapping framework. Ibatis code copied from Spring 3.2.x branch.
The MyBatis parent POM.
Mybatis Cdi
The mybatis data mapper framework makes it easier to use a relational database with object-oriented
applications. mybatis couples objects with stored procedures or SQL statements using a XML descriptor or
annotations. Simplicity is the biggest advantage of the mybatis data mapper over object relational mapping
JPetStore Demo 6
OSCache support for MyBatis Cache
Hazelcast support for MyBatis Cache
MyBatis base bundle descriptor
MyBatis Common Resources For Docbook
Related Books ()by Srinivas Mudunuri ()by K. Siva Prasad Reddy
Web site developed by
Powered by:在上一篇博文中,我简单介绍了将JPetStore 5导入MyEclipse的方法,实际上iBatis早已改名为MyBatis,其所有的demo都在 code上托管:/p/mybatis/&,JPetStore也已经于2011年6月推出了最新的第6版。所以这里再简单总结一下将部署JPetStore 6的方法。在这里:/p/mybatis/downloads/detail?name=mybatis-jpetstore-6.0.1-bundle.zip&下载压缩包并解压后,发现其中包含war包(可以直接部署)。但我们这里总结的是导入MyEclipse的方法,稍微麻烦一些:将压缩包:mybatis-jpetstore-6.0.1-sources.zip,解压后,需要使用maven这一工具进行管理和部署,我之前没用过,这里简单说说(其实的项目用起来都差不多)。在这里:http://maven..org/download.cgi&下载maven的压缩包并解压后,需要设置环境变量:首先新建一个环境变量M2_HOME,位置为maven解压包中目录的上一层;然后在path环境变量最后面添加:%M2_HOME%\。如果在cmd里面运行mvn后有结果,则说明设置成功。在cmd中,进入mybatis-jpetstore-6.0.1-sources这一下,运行:mvn 成功之后再运行:mvn eclipse:eclipse这条命令的意思是生成eclipse项目,成功之后再运行:mvn clean这条命令的含义等会再说。经过这三步,就可以在MyEclipse中导入项目了。在MyEclipse选择“import”——“Existing Projects into Workspace”——定位到刚才的mybatis-jpetstore-6.0.1-sources文件夹下,导入之后需要进行一步设置:在MyEclipse中选“MyEclipse”——“Project Capabilities”——“Add Web Project Capabilities”——然后需要在下图所示的界面中指定Web Root Directory(指定Web Project的在什么地方)和Web Context Root(指定在 webapps目录中的文件夹名),指定方法就如图所示:这样就基本上将JPetStore 6导入MyEclipse中了,接下来部署发布就可以了。下面解释一下为什么要运行mvn clean这条命令,如果不运行的话,部署后就会出现类似下面的报错:Unable to read TLD &META-INF/stripes.tld& from JAR file &file:/D:/Projects/apache--6.0.36/webapps/jpetstore/WEB-INF/lib/stripes-1.5.6.jar&: org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: net.sourcege.stripes.tag.ErrorsTagExtraInfo搜索了一下,这个问题很容易出现,大部分原因是web project的lib和tomcat自有的lib冲突,而在maven的pom.xml中实际上已经考虑到这种冲突,但如果不运行mvn clean,就会经常出现上面的报错。更常见的是项目的jsp-api-XX.jar,jstl-XX.jar和tomcat冲突,解决的方法都是一样,通过mvn clean来避免这种冲突。具体可以参考stackoverflow上的解释:/questions/5496809/jar-conflict-in-maven-and-tomcat另外,maven的常用命令可参看这篇:/PatrickLee/archive//2747398.htmlSpring Profile和Mybatis进行多个数据源(H2和Mysql)的切换 - 推酷
Spring Profile和Mybatis进行多个数据源(H2和Mysql)的切换
最近在做WebMagic的后台,遇到一个问题:后台用到了数据库,本来理想情况下是用Mysql,但是为了做到开箱即用,也整合了一个嵌入式数据库H2。这里面就有个问题了,如何用一套代码,提供对Mysql和H2两种方案的支持?博主收集了一些资料,也调试了很久,终于找到一套可行方案,记录下来。代码贴的有点多,主要是为了以后方便自己查找。
H2是一个嵌入式,纯Java实现的数据库,它各方面都要好于Java的sqlitejdbc。它可以使用内存模式,也可以使用磁盘模式。具体使用可以看攻略:
为MyBatis同时配置两套数据源
我们希望达到的效果是,不同的数据源使用不同的sql,并且这个切换最好只在配置中体现,与代码无关。所以我们选择xml的方式编写sql语句。
MyBatis Spring的使用
同时使用Mybatis-Spring插件,这样Mybatis可以将Mapper(也就是DAO)自动配置成Bean,非常方便。它的一个完整示例可以看这个项目:
。这里我配置如下:
&bean class=&org.mybatis.spring.mapper.MapperScannerConfigurer&&
&property name=&basePackage& value=&us.codecraft.webmagic.dao& /&
&bean id=&sqlSessionFactory& class=&org.mybatis.spring.SqlSessionFactoryBean&&
&property name=&dataSource& ref=&dataSource& /&
&property name=&mapperLocations& value=&classpath*:/config/mapper/**/*.xml& /&
配置Mapper
对应的DAO和配置文件如下:
us.codecraft.webmagic.dao.DynamicClassDao:
public interface DynamicClassDao {
public int add(DynamicClass dynamicClass);
DynamicClassDao.xml
&mapper namespace=&us.codecraft.webmagic.dao.DynamicClassDao&&
&insert id=&add& parameterType=&us.codecraft.webmagic.model.DynamicClass&&
insert into DynamicClass (`ClassName`,`SourceCode`,`AddTime`,`UpdateTime`)
values (#{className},#{sourceCode},now(),now())
使用databaseIdProvider进行多个数据源的SQL切换
MyBatis支持根据不同的数据库名来进行SQL语句的切换。做法是初始化
SqlSessionFactoryBean
的时候,配置一个
databaseIdProvider
&bean id=&vendorProperties& class=&org.springframework.beans.factory.config.PropertiesFactoryBean&&
&property name=&properties&&
&prop key=&SQL Server&&sqlserver&/prop&
&prop key=&DB2&&db2&/prop&
&prop key=&Oracle&&oracle&/prop&
&prop key=&MySQL&&mysql&/prop&
&prop key=&H2&&h2&/prop&
&/property&
&bean id=&databaseIdProvider& class=&org.apache.ibatis.mapping.VendorDatabaseIdProvider&&
&property name=&properties& ref=&vendorProperties&/&
&bean id=&sqlSessionFactory& class=&org.mybatis.spring.SqlSessionFactoryBean&&
&property name=&dataSource& ref=&dataSource& /&
&property name=&databaseIdProvider& ref=&databaseIdProvider& /&
&property name=&mapperLocations& value=&classpath*:/config/mapper/**/*.xml& /&
然后在Mapper的xml里,把相应的语句加上
databaseId=&xxx&
就可以了。
&!DOCTYPE mapper PUBLIC &-//mybatis.org//DTD Mapper 3.0//EN&
&http://mybatis.org/dtd/mybatis-3-mapper.dtd&&
&mapper namespace=&us.codecraft.webmagic.dao.DynamicClassDao&&
&insert id=&add& parameterType=&us.codecraft.webmagic.model.DynamicClass& databaseId=&mysql&&
insert into DynamicClass (`ClassName`,`SourceCode`,`AddTime`,`UpdateTime`)
values (#{className},#{sourceCode},now(),now())
&insert id=&add& parameterType=&us.codecraft.webmagic.model.DynamicClass& databaseId=&h2&&
insert into DynamicClass (`ClassName`,`SourceCode`,`AddTime`,`UpdateTime`)
values (#{className},#{sourceCode},now(),now())
Spring Profile
Profile是Spring 3.1后新增的特性,简单来说,就是根据不同的环境,读取不同的配置。这些配置可以放在一起,但是单独生效。贴个代码吧,很容易说明问题了:
&?xml version=&1.0& encoding=&UTF-8&?&
&beans xmlns=&http://www.springframework.org/schema/beans&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance& xmlns:jdbc=&http://www.springframework.org/schema/jdbc&
xsi:schemaLocation=&http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd&&
&bean id=&dataSource& class=&mons.dbcp.BasicDataSource&
destroy-method=&close&&
&property name=&driverClassName& value=&com.mysql.jdbc.Driver&/&
&property name=&url& value=&jdbc:mysql://127.0.0.1:3306/WebMagic?characterEncoding=UTF-8&/&
&property name=&username& value=&webmagic&/&
&property name=&password& value=&webmagic&/&
&beans profile=&test&&
&bean id=&dataSource& class=&mons.dbcp.BasicDataSource&
destroy-method=&close&&
&property name=&driverClassName& value=&org.h2.Driver&/&
&property name=&url& value=&jdbc:h2:mem:WebMDB_CLOSE_DELAY=-1&/&
&!--Refer to /springside/springside4/wiki/H2-Database --&
&jdbc:initialize-database data-source=&dataSource& ignore-failures=&ALL&&
&jdbc:script location=&classpath:sql/h2/schema.sql& /&
&!--&jdbc:script location=&classpath:data/h2/import-data.sql& encoding=&UTF-8&/&--&
&/jdbc:initialize-database&
&beans profile=&standalone&&
&bean id=&dataSource& class=&mons.dbcp.BasicDataSource&
destroy-method=&close&&
&property name=&driverClassName& value=&org.h2.Driver&/&
&property name=&url& value=&jdbc:h2:file:~/.h2/WebMAUTO_SERVER=TRUE&/&
&!--Refer to /springside/springside4/wiki/H2-Database --&
&jdbc:initialize-database data-source=&dataSource& ignore-failures=&ALL&&
&jdbc:script location=&classpath:sql/h2/schema.sql& /&
&!--&jdbc:script location=&classpath:data/h2/import-data.sql& encoding=&UTF-8&/&--&
&/jdbc:initialize-database&
设置Profile有不同的方式。
在JUnit里面,使用注解@ActiveProfile即可。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {&classpath*:/config/spring/applicationContext*.xml&})
@ActiveProfiles(&test&)
@Transactional
public abstract class AbstractTest {
Web项目则是在web.xml里设置:
&init-param&
&param-name&spring.profiles.active&/param-name&
&param-value&product&/param-value&
&/init-param&
如此配置,就可以达到在不同的环境使用不同bean的目的!
H2数据库攻略&
spring+mybatis 多数据源整合&
如何用Spring 3.1的Environment和Profile简化工作&
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致&>&&>&&>&&>&mybatis3.0.5官方示范项目下载
mybatis3.0.5官方示范项目下载
上传大小:8.52MB
上传的项目是MyBatis的示范项目名称:jpetstore(宠物店)
本项目简单易读。是初步了解MyBatis的功能的最好示范代码。
如何实现spring3.0.5与mybatis3.0.5的整合。
如何实现spring3.0.5与Stripes1.5.6(类似Struts框架)的整合。
如何使用mybatis3.0.5框架。
压缩包说明:
文件解压后有mybatis(可直接导入eclipse运行的项目)和mybatis-3.0.5-bundle.zip(官方压缩包)
官方压缩包里的有个war包拷入tomcat的wepapp目录即可运行观看效果。
可参照官方文档去学习。有关mybatis3.0.5框架的中文文档说明网址:
http://www.mybatis.org/core/zh/...展开收缩
综合评分:4.5(62位用户评分)
所需积分:0
下载次数:640
审核通过送C币
创建者:andy8921
创建者:jin80506
创建者:jerryshen
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
mybatis3.0.5官方示范项目下载
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
lgywindows
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:Jpetstore安装部署文档_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Jpetstore安装部署文档
上传于|0|0|文档简介
&&Jpetstore安装部署文档
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 mybatis运行原理图 的文章

 

随机推荐