myBatis系列之一:搭建开发环境
myBatis系列之三:增删改查
myBatis系列之四:关联数据的查询
myBatis系列之五:与Spring3集成
myBatis系列之六:与SpringMVC集成
myBatis系列之七:事务管理
myBatis系列之一:搭建开发环境是采用SqlSession的通用方法并强制转换的方式,存在着转换安全的问题:
User user = (User)session.selectOne("com.john.hbatis.model.UserMapper.getUserById", 1);
可以采用
接口加sql语句的方式来解决,sql语句理解为是接口的实现:
1. 新建接口类:
package com.john.hbatis.mapper;
import com.john.hbatis.model.User;
public interface IUserMapper {
User getUserById(int id);
}
2. 修改User.xml文件,确保namespace属性值和接口的全限定名相同,且id属性值和接口方法名相同:
<mapper namespace="com.john.hbatis.mapper.IUserMapper">
<select id="getUserById"
3. 在MyBatisBasicTest类中添加测试方法:
@Test
public void queryInInterfaceWayTest() {
SqlSession session = sqlSessionFactory.openSession();
IUserMapper mapper = session.getMapper(IUserMapper.class); // 如果namespace和接口全限定名不一致,报org.apache.ibatis.binding.BindingException: Type interface com..IUserMapper is not known to the MapperRegistry异常。
User user = mapper.getUserById(1);
log.info("{}: {}", user.getName(), user.getAddress());
}
附:
上面的实现是把sql语句放在XML文件中,并通过一定的约束来保证接口能够在XML中找到对应的SQL语句;
还有一种方式是通过接口+
注解SQL方式来交互数据:
①. 新建接口类:
package com.john.hbatis.mapper;
import org.apache.ibatis.annotations.Select;
import com.john.hbatis.model.User;
public interface IUserMapper2 {
@Select({ "select * from `user` where id = #{id}" })
User getUserById(int id);
}
②. 在Configuration.xml文件中加入:
<mappers>
<mapper class="com.john.hbatis.mapper.IUserMapper2" />
</mappers>
或在初始化语句中加入:
sqlSessionFactory.getConfiguration().addMapper(IUserMapper2.class);
③. 相应修改上面的测试方法:
IUserMapper2 mapper = session.getMapper(IUserMapper2.class);
参考:
http://www.yihaomen.com/article/java/304.htm
分享到:
相关推荐
学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高...
在Spring Boot中,可以通过整合MyBatis和JPA来与数据库进行交互。以下是分别整合MyBatis和JPA的步骤: 整合MyBatis: 1. 添加依赖: 在项目的 pom.xml 文件中添加MyBatis和MySQL依赖 2.配置数据源: 在 application....
主要是利用Springboot技术和uniapp技术来实现简单的失物招领的操作,其中实现的主要是页面显示,通过调用接口来实现数据的增删改查、模糊查询等操作,其中后端用到的是mybatis、lombok、mysql、maven等,数据的管理...
今天接上文,来实现一个Storm数据流处理综合案例的第二部分,Storm集群向Kafka集群源源不断读取数据,通过MyBatis写入到MySQL数据库,并部署为远程模式 准备工作 参考上文准备工作 代码编写 思路:Storm集群从...
##项目架构简介: 完全是采用Springboot为基础框架实现的单体工程架构,集成了...实现前后端动态可视化数据交互及接口对接 5.lombok: 简化bean对象的生成 6.逆向工程: 实现表结构到实体,service,mapper,xml等文
根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,根据用户的汉字姓名生成拼音的用户名) 12.app接口(支持与其它语言数据交互) 12.极光推送 (推送给APP及时消息,APP不启动也能收到) 14.微信接口(身份...
本章服务器端接口编程主要介绍如何生成前台所需的数据,即如何获取请求,怎样与数据库交互,最后采取何种方式返回数据给前台。 服务器端接口编程全文共45页,当前为第3页。 本章导读 本章讲述服务器端接口编程相关...
闲来无事,学习了一下easyUI。这是一个很简单的例子,给大家简单演示easyUI和后台的交互,包括数据的增删改查,希望给初学者有所帮助。使用的技术是ssm(springmvc+spring+mybatis)。这是一个maven项目。
根据springboot+mybatis后端返回json格式数据,移动端安卓完成登录、注册,图书列表页面的展示(增删改查)功能。 ## 工具 **java后台:** 开发工具:idea mysql版本:5.7版本 数据库中图书Item表资源来源于这位...
后端使用服务器端编程语言(如Java、Python、Node.js等)和数据库来处理数据,并提供API接口供前端调用。 具体而言,前后端分离后台管理项目的主要特点包括以下几个方面: 前端技术栈:使用HTML、CSS和JavaScript...
本项目中使用SAPJCO3调用SAP系统的RFC函数来获取或传送数据,然后以接口的方式对外提供服务,并提供定时器功能来实现对 数据定时同步任务。 使用技术 后台 描述 框架 核心框架 Spring、Spring Boot、Spring MVC 持久...
输入/输出设备:如键盘、鼠标、显示器、打印机、扫描仪、摄像头等,实现人与计算机之间的交互以及数据的输入和输出。 主板:连接和协调各硬件组件工作,包含芯片组、扩展插槽、接口等。 其他外设:如声卡、网卡、...
SSM项目小程序“未知小程序的设计与实现Ssm.zip”是一个基于Spring、Spring MVC和MyBatis(SSM)框架开发的微信小程序,专为探索新兴技术和提供实验性服务设计的多功能平台。该项目结合了微信小程序的用户便利性与...
基于STM32节点和阿里云IoT平台 的物联网应用开发 系列课程 第四章 服务端的应用开发 课程内容下载、观看 • 视频观看:AI电堂、阿里云大学IoT课堂 • 课件胶片下载:STMCU中文官网、阿里云大学IoT课堂 • 课件项目...
输入/输出设备:如键盘、鼠标、显示器、打印机、扫描仪、摄像头等,实现人与计算机之间的交互以及数据的输入和输出。 主板:连接和协调各硬件组件工作,包含芯片组、扩展插槽、接口等。 其他外设:如声卡、网卡、...
接口技术:使用RESTful API设计风格,实现前后端的数据交互。 功能概述: 商品浏览:用户可以在小程序中浏览商品列表,查看商品的详细信息,包括商品图片、名称、价格等。 购物车管理:用户可以选择商品加入购物车...
数据可视化:以图表形式展示收支趋势和各类别的收支情况。 数据导出:支持将账目数据导出为Excel文件。 权限管理:确保只有授权的用户可以访问和修改敏感信息。 微信登录:利用微信小程序实现快速登录和身份验证。 ...
享阅读小说系统 - 基于SpringMVC和MyBatis开发,包含644个文件,如JAVA、VUE、XML、JS、...前端采用Vue的框架cube-ui,采用前后端分离的结构,系统中针对数据接口安全做了一定的限制,很大程度上保证了数据的安全性。
系统架构:该项目采用前后端分离的架构,前端负责页面展示和交互,后端负责处理业务逻辑和数据存储。通过RESTful API进行前后端通信。部署方式:该项目可以部署在Windows、Linux等操作系统上,支持Tomcat、Jetty等...