您的位置:首页 > 其它

MyBatis入门初级教程(2) – 框架结构搭建

2014-12-12 13:05 423 查看
MyBatis入门初级教程(2) –框架结构搭建将jdbc的jar包导入工程中。下载地址:http://download.csdn.net/detail/taomanman/62763291.编写DBAccess类:在包db下新建类,起名DBAccess。
/**
* 访问数据库类
*/
public class DBAccess {
publicSqlSession getSqlSession() throws IOException{
//通过配置文件获取数据库连接信息
Readerreader = Resources.getResourceAsReader("com/config/Configuration.xml");
//通过配置信息构建一个SqlSessionFacory
SqlSessionFactorysqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
//通过sqlSessionFactory打开一个数据库会话
SqlSessionsqlSession = sqlSessionFactory.openSession();
returnsqlSession;
}
}
看不懂的可以先复制过来,以后会讲。2.编写Dao层:在dao包下创建一个名为MobilePOIDao的类:
/**
* 与MOBILE_POI表对应的数据库操作类
*command是用户输入查询关键字参数。
*/
public class MobilePOIDao {
/**
* 根据查询条件查询MOBILE_POI列表
*/
publicList<MobilePOI> queryMobilePOIList(String command){
//连接数据库
DBAccessdbAccess = new DBAccess();
SqlSessionsqlSession = null;
try{
sqlSession= dbAccess.getSqlSession();
} catch(IOException e) {
e.printStackTrace();
}catch(Exception e){
System.out.println(e.getMessage());
}finally{
sqlSession.close();
}
returnnull;
}
}}
3.在此Dao类中暂时写一个main函数:测试一下看看是否走的通:
publicstatic void main(String[] args){
MobilePOIDaomessageDao = new MobilePOIDao();
messageDao.queryMobilePOIList("");

}
}
Debug一下按顺序走一下看看是否走得通,是否报错。4.通过了之后我们开始创建写sql语句的文件:创建编写SQL语句xml文件,并配置:从test文件夹中拷贝一个User.xml文件作为参照,放在config下的sql包里,User.xml的地址路径:C:\Users\DD\Desktop\mybatis-3-mybatis-3.2.8\src\test\java\org\apache\ibatis\submitted\complex_property并在教程第一篇的Configuration.xml中配置此sql语句的User.xml文件
<mappers>
<mapper resource="com/config/sql/User.xml"/>
</mappers>
5.编写User.xml文件:
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPEmapper
PUBLIC "-//mybatis.org//DTDMapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="MobilePOI">

<resultMap type="com.bean.MobilePOI"id="MobilePOIResult">
<id column="POIID"jdbcType="VARCHAR" property="poiid"/><!-- 主键 -->
<result column="NAME"jdbcType="VARCHAR" property="name"/>
<result column="LON"jdbcType="VARCHAR" property="lon"/>
<result column="LAT"jdbcType="VARCHAR" property="lat"/>
</resultMap>

<select id="queryMobilePOIList"parameterType="com.bean.MobilePOI" resultMap="MobilePOIResult">
select POIID, NAME, LON, LAT
from MOBILE_POI where 1=1
</select>
</mapper>
此时先不写用前面用户传来的command查找参数。过程走通了之后我们再添加查找限定条件。6.改写Dao:观察sqlsession.selectList()方法的第一个参数:“MobilePOI.queryMobilePOIList”MobilePOI是User.xml文件中space域的名称。<mappernamespace="MobilePOI">queryMobilePOIList是SQL语句的id<selectid="queryMobilePOIList"
/*** 与MOBILE_POI表对应的数据库操作类*/public class MobilePOIDao {/*** 根据查询条件查询MOBILE_POI列表*/publicList<MobilePOI> queryMobilePOIList(String command){//连接数据库DBAccessdbAccess = new DBAccess();List<MobilePOI>mobilePOIList = new ArrayList<MobilePOI>();SqlSessionsqlSession = null;try{sqlSession= dbAccess.getSqlSession();MobilePOImobilePOI = new MobilePOI();mobilePOI.setName(command);mobilePOIList= sqlSession.selectList("MobilePOI.queryMobilePOIList",mobilePOI);}catch (IOException e) {e.printStackTrace();}catch(Exception e){System.out.println(e.getMessage());}finally{if(sqlSession!= null){sqlSession.close();}}returnmobilePOIList;}}
7.写service类:在service包下建一个名为QueryService的类:
/*** 列表相关的业务功能*/public class QueryService {/*** 将通过dao查询的结果返回给service* @param command* @return 查询结果*/publicString queryByMobilePOI(String command){MobilePOIDaomobilePOIDao = new MobilePOIDao();List<MobilePOI>mobilePOIList;mobilePOIList= mobilePOIDao.queryMobilePOIList(command);if(mobilePOIList.size()>0){//转成json格式returnJSON.toJSONString(mobilePOIList);}return"数据库中无此结果";}}
为了传回前端js解析方便,我习惯将从数据库中查询到的结果列表转成json格式其中转成json格式用的包是阿里巴巴的fastjson包,地址是http://download.csdn.net/detail/finaljia/5293875此包介绍:http://blog.sina.com.cn/s/blog_7ffb8dd501013qas.html8.写servlet类:最后,编写servlet类:在servlet包中新建一个servlet类,名为QueryServlet创建方法:1.右键单击servlet包à新建àservlet2.如果选项中没有servlet,选择【其他】à填写【servlet】à,勾选加上doGet和doPost方法,地址删除servlet前缀改为:【/QueryServlet】,(也可不改,我是习惯。)3.也可以自己手动创建一个普通类,让其继承HttpServlet类,填写doGet和doPost方法,并在web.xml中配置
  <servlet><servlet-name>QueryServlet</servlet-name><servlet-class>com.servlet.QueryServlet</servlet-class></servlet><servlet-mapping><servlet-name>QueryServlet</servlet-name><url-pattern>/QueryServlet</url-pattern></servlet-mapping>
9.发布服务,并访问servlet地址,运行程序:发布服务:点击图标在浏览器中访问servlet地址:http://localhost:8888/Service/QueryServlet?command=结果:可以用json在线格式化工具格式化一下:工具地址:http://tool.oschina.net/codeformat/json未完待续。。。下一节讲:各个文件之间的联系与结构。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: