MyBatis详细实例操作Word文件下载.docx
《MyBatis详细实例操作Word文件下载.docx》由会员分享,可在线阅读,更多相关《MyBatis详细实例操作Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
导入的jar包中还有一个mysql-connector-java-5.0.4-bin.jar这个jar包这个文件是mysql驱动的jar包我这里用到的数据库是mysql。
OK到这里你就基本上创建好一个项目了而且是支持MyBatis的项目。
第三步开始我们就进入到编码过程
第三步:
数据源配置
在项目中创建com.ibatis包(这里为了项目进行方便所有类或xml文件都放在这一个包下)
在com.ibatis创建sqlmap-config.xml
sqlmap-config.xml主要是用来配置数据源代码如下:
<
?
xmlversion="
1.0"
encoding="
UTF-8"
?
>
!
DOCTYPEconfiguration
PUBLIC"
-//ibatis.apache.org//DTDConfig3.0//EN"
"
http:
//ibatis.apache.org/dtd/ibatis-3-config.dtd"
configuration>
environmentsdefault="
environment"
environmentid="
transactionManagertype="
JDBC"
/>
<
dataSourcetype="
POOLED"
propertyname="
driver"
value="
com.mysql.jdbc.Driver"
url"
value="
jdbc:
mysql:
//localhost:
3306/lifesense?
characterEncoding=UTF-8"
<
username"
root"
password"
<
/dataSource>
/environment>
/environments>
mappers>
mapperresource="
com/ibatis/TestSql.xml"
/mappers>
/configuration>
到这里第三步完成。
下面我们继续往下走吧。
第四步:
配置映射xml(TestSql.xml)
在com.ibatis创建TestSql.xml
恭喜您来到第四步第四部很简单,如果学过Hibernate都知道Hibernate都有一个映射文件,为什么要有这个文件那是为了实现面向对象而要实现的。
具体代码如下:
DOCTYPEmapper
PUBLIC"
-//ibatis.apache.org//DTDMapper3.0//EN"
"
//ibatis.apache.org/dtd/ibatis-3-mapper.dtd"
mappernamespace="
com.ibatis"
resultMapid="
TestResult"
type="
com.ibatis.Test"
resultproperty="
id"
column="
t_id"
jdbcType="
VARCHAR"
javaType="
string"
name"
t_name"
javaType="
jdbcType="
createtime"
t_createtime"
javaType="
email"
t_email"
tilepath"
t_tilepath"
lastloginip"
t_lastloginip"
lastlogintime"
t_lastlogintime"
javaType="
nickname"
t_nickname"
t_password"
picture"
t_picture"
sessionid"
t_sessionid"
sex"
t_sex"
tel"
t_tel"
t_username"
/resultMap>
selectid="
testid"
parameterType="
resultMap="
select*fromtestlimit1000
/select>
insertid="
insertvalues"
insertintotest(id,name,createtime,email,tilepath,lastloginip,lastlogintime,nickname,password,picture,sessionid,sex,tel,username)
values(#{id},#{name},#{createtime},#{email},#{tilepath},#{lastloginip},#{lastlogintime},#{nickname},#{password},#{picture},#{sessionid},#{sex},#{tel},#{username})
/insert>
/mapper>
在上面代码中您可以适当减少字段这样会快点配置完成。
OK第四步完成。
那么到这里所有要配置的文件基本都配置完了下面就是我们要实现Bean的时候了。
第五步:
model(bean)类(Test.java)
在com.ibatis创建Test.java
那么这个类没有什么好说的就是一些字段属性
之后完成getset方法就OK了
不过还是贴出代码方面朋友们查看:
publicclassTestimplementsSerializable{
privatestaticfinallongserialVersionUID=-2478236396012275225L;
privateStringid;
//用户�?
privateStringusername;
//密码
privateStringpassword;
//姓名
privateStringname;
//昵称
privateStringnickname;
//性别可�?
�?
1为男�?
女�?
privateStringsex;
//用户头像图片
privateStringpicture;
//创建时间
privateStringcreatetime;
//上次登录时间
privateStringlastlogintime;
privateStringtilepath;
publicStringgetTilepath(){
returntilepath;
}
publicvoidsetTilepath(Stringtilepath){
this.tilepath=tilepath;
//上次登录IP
privateStringlastloginip;
//当前会话ID
privateStringsessionid;
//联系电话
privateStringtel;
//邮箱
privateStringemail;
publicStringgetId(){
returnid;
publicvoidsetId(Stringid){
this.id=id;
publicStringgetUsername(){
returnusername;
publicvoidsetUsername(Stringusername){
this.username=username;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpassword){
this.password=password;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicStringgetSex(){
returnsex;
publicvoidsetSex(Stringsex){
this.sex=sex;
/**
*获取用户头像URL
*@return用户头像URL
*/
publicStringgetPicture(){
returnpicture;
*设置用户头像URL
*@parampicture用户头像URL
publicvoidsetPicture(Stringpicture){
this.picture=picture;
publicStringgetLastLoginIp(){
returnlastloginip;
publicvoidsetLastLoginIp(Stringlastloginip){
this.lastloginip=lastloginip;
publicStringgetSessionid(){
returnsessionid;
publicvoidsetSessionid(Stringsessionid){
this.sessionid=sessionid;
publicStringgetCreatetime(){
returncreatetime;
publicvoidsetCreatetime(Stringcreatetime){
this.createtime=createtime;
publicStringgetLastlogintime(){
returnlastlogintime;
publicvoidsetLastLogintime(Stringlastlogintime){
this.lastlogintime=lastlogintime;
*获取昵称
*@returnthenickname昵称
publicStringgetNickname(){
returnnickname;
*设置昵称
*@paramnickname昵称
publicvoidsetNickname(Stringnickname){
this.nickname=nickname;
}
publicStringgetTel(){
returntel;
publicvoidsetTel(Stringtel){
this.tel=tel;
publicStringgetEmail(){
returnemail;
publicvoidsetEmail(Stringemail){
this.email=email;
在这一步要注意的是要和第四步中的字段匹配这个是硬性要求来的大家可以这两部项目查看就明白了。
第六步:
实例化SqlSessionFactory
在com.ibatis创建GetSqlSessionFactory.java
这个类的原理和实现Hibernate实例化的原来一样我们可以定义一个单例模式来完成实例化。
代码如下:
publicclassGetSqlSessionFactory{
privatestaticSqlSessionFactorysqlSessionFactory=null;
privatestaticGetSqlSessionFactorygetSqlSessionFactory=null;
privateGetSqlSessionFactory(){
Stringrs="
com/ibatis/sqlmap-config.xml"
;
Readerreader=null;
try{
reader=Resources.getResourceAsReader(rs);
}catch(IOExceptione){
e.printStackTrace();
}
sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);
//注解方式查询时需要注册mapper
sqlSessionFactory.getConfiguration().addMapper(UserDaoTestImpl.class);
publicstaticGetSqlSessionFactorygetInstance(){
if(getSqlSessionFactory==null){
getSqlSessionFactory=newGetSqlSessionFactory();
returngetSqlSessionFactory;
publicstaticSqlSessionFactorygetSqlSessionFactory(){
returnsqlSessionFactory;
第七步:
DAO业务处理层
在com.ibatis创建UserDaoTest.java
DAO不想多说大家直接参考代码:
publicclassUserDaoTestimplementsUserDaoTestImpl{
@SuppressWarnings("
static-access"
)
publicList<
Test>
getTest(){
SqlSessionsession=GetSqlSessionFactory.getInstance().getSqlSessionFactory().openSession();
List<
test=newArrayList<
();
try{
//xml方式查询
test=session.selectList("
);
//注解方式查询
//UserDaoTestImpluserDaoTestImpl=session.getMapper(UserDaoTestImpl.class);
//test=userDaoTestImpl.getTest();
}catch(Exceptione){
}finally{
session.close();
returntest;
publicvoidinsertvalue(Testtest){
@SuppressWarnings("
SqlSessionsession=GetSqlSessionFactory.getInstance().getSqlSessionFactory().openSession();
session.selectOne("
test);
}
到这里其实就可以完成的但是我们的代码实现了接口上面也有提到我们可以用注解的方式来实现映射关系。
注解方式就是其中一种大家在测试的时候可以使用xml方式也可以使用注解的方式。
好吧我们再努力一下下看完下面的配置吧。
第八步:
接口
在com.ibatis创建UserDaoTestImpl.java
接口中没有什么说的其中有一样要注意的就是注解方式。
详细看代码:
publicinterfaceUserDaoTestImpl{
@Select("
select*fromtestlimit1000"
getTest();
voidinsertvalue(Testtest);
在这里我只实现了一个查询的注解方式还有插入更新删除等操作希望大家可以自己完成。
不好意思谢谢。
第九步:
Servlet实验
到这里大家都可以写一个Servlet来验证一下你的MyBaits是否能跑起来了。
如果大家按照上面的实现的话我可以保证百分百可以成功的。
Servlet我就不贴代码了这个你懂的。
嘻嘻。
等你所有都完成之后你会发现你的项目是这样的:
匆忙中命名空间不好包实现不规范请大家多多担待因为这个项目主要是介绍了MyBatis的运用和实现。
所以我在做这个文档中并没有什么规划只是想尽快写一个测试用例。
请大家多多包涵:
如果有什么问题的可以邮件:
****************我们一起学习
谢谢