前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中运用mybatis进行数据库操作

java中运用mybatis进行数据库操作

作者头像
企鹅号小编
发布2018-01-04 17:51:15
8260
发布2018-01-04 17:51:15
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

目前在java项目中不论是web项目还是长连接的tcp/udp/websocket中,mytatis的使用已经越来越广,很多开发攻城狮都清楚ssh框架,这里的h就是hibernate,不过随着时间的进展,使用得更多的则是ibatis,今天要谈的则是mytatis。一般而言,mytatis其实就是ibatis演化而来的,于是这里自然要把ibatis和mytatis进行比较。

1 映射的条件已经不同。

ibatis中根元素是sqlMapConfig,mybatis中是configuration。

ibatis中是使用sqlMap元素,mybatis中是使用mappers元素。

2 配合spring框架的时候,配置也不同了。

3 mybatis支持批量操作,xml配置foreach即可。

4 mybatis中$和#的区别

我想我们原来都传单个值的时候都是用到#号,但$这个符号也是可以进行传值的,但$这个符合是动态传入某一个值,或者一个结果集。

而$这个符号会导致sql注入的问题,想想看这样的一个场景,因为#是只能传一个值进去,但$可以传一大串东西今天,那么我们对$中传入的值将不可控,故会发送sql注入的问题。

使用方式:

1 eclipse安装mytatis

下载myBatis生成pojo插件,得到features和plugins即可,将两者赋值到eclipse软件对应点features和plugins中

2 重新打开eclipse建立三种配置文件

(1) configuration.xml 用于配置数据库访问连接配置和表操作xml配置mappers

(2) dataBase.properties 用于配置数据库模块的参数

(3) Model.xml 中Model代表某个表的各种操作

三者放置src/game/conf目录下,受篇幅原因,不在多讲,私下沟通即可。

(5) 在Model.xml编写sql语句,简单实例如下

(6) 在IUserOperation.java中声明该种查询的方法

public List selectModelByID(String user_id); 注意函数名字和sql语句中的配置保持一致

(7) 执行static进行加载mybatis数据库配置

static {

try {

reader = Resources.getResourceAsReader("com/game/conf/Configuration.xml");

sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

} catch (Exception e) {

e.printStackTrace();

}

}

(8) Dao中实现该方法即可

public Model selectModelByID(String user_id){

SqlSession session = sqlSessionFactory.openSession();

try {

IModelOperation userOperation = session

.getMapper(IModelOperation.class);

List gameData = userOperation.selectModelByID(user_id);

System.out.println("count:"+gameData.size());

for(Model data : gameData) {

System.out.println("uid:"+data.getUser_id()+";success_count"+data.getGame_success_count());

}

} finally {

session.close();

}

return null;

}

(9) 最后在逻辑中调用Dao中方法即可。

本文来自企鹅号 - 紫樱阁主媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 紫樱阁主媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档