Javaweb学习笔记第八弹
继续MyBatis学习
SQL语句警告提示问题
产生原因:IDEA和数据库没有建立连接,不识别表的信息
解决方式:在IDEA中配置MySQL数据库连接
在IDEA的Maven项目中,如果想要直接通过IDEA进行MySQL数据库的连接,可以点击右侧的DataBase,

选择MySQL数据库,

输入你想要连接的数据库的主机名称、使用者、密码和数据库名称,

并可以通过下方的Test进行测试,随即连接成功!

这可以被看作一个Navicat的翻版,操作方法与Navicat相同,快去试一试吧!
Mapper代理开发
对于上一篇的Javaweb学习笔记的相关改进:在执行SQL语句那里,使用时需要调用资源文件中的某一个名称空间,需要依赖于字符串名称,较为不方便;
遂要将其改正,可以利用上述题目Mapper代理开发(接口)进行修正,步骤如下:
1、定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下;
注意:在操作该步骤时,记得不要直接将SQL映射文件拖动到接口的同目录下;
需要在资源文件中重新创建一个与接口目录同名的Directory文件,
注意到如果接口目录的名称中含有.,那么,在实际上,会是一个个文件夹的层层叠加;而且在给资源文件中的Directory文件夹取名时,其中的.不会自动转换成文件夹的层层目录,所以,需要将其中的.换成/进行取名;
这样,就完成了第一个步骤!
2、设置SQL映射文件的namespace属性为Mapper接口全限定名;(先假设设置Mapper接口名为:userMapper)
记得对MyBatis核心配置文件中有关SQL映射文件的相对路径进行更改
接着,就来到了前面提到过的更改执行sql文件的相关代码内容:
获取接口的代理对象:(???????这里不是很清楚)
userMapper userMapper=sqlSession.getMapper(userMapper.class);
List users=userMapper.selectAll();
3、在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
4、编码:
1)通过SqlSession 的getMapper方法获取Mapper接口的代理对象
2)调用对应方法完成sql的执行
Mapper的核心配置文件(相关内容讲解)
environments
其中可以放置多个environment数据信息,用于连接多个数据库
通过default属性切换不同的environment
dataSource:数据库连接池
由于在SQL映射文件中的resultType需要定义成较为麻烦名称
可以利用typeAliases去定义一个较为简单的类型别名(记得放在environments前)
最后的使用结果是不区分大小写,直接定义为类型别名即可
配置各个标签时,需要遵守前后顺序
Javaweb学习笔记第八弹的更多相关文章
- Javaweb学习笔记——(八)——————常见系统体系结构,Tomcat,以及web的内部外部应用,http协议概述
·软件系统体系结构: 1.常见软件系统体系结构B/S.C/S C/S 1.C/S结构即客户端/服务器(Client/Server),列如QQ: 2.需要编写服务器端程序,以及客户端程序,列如我们安装的 ...
- JavaWeb学习笔记(八)—— EL表达式
一.EL表达式概述 在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护.为此,在JSP2.0规范中提供了EL表达式.EL全名 ...
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- VSTO学习笔记(八)向 Word 2010 中写入表结构
原文:VSTO学习笔记(八)向 Word 2010 中写入表结构 前几天公司在做CMMI 3级认证,需要提交一系列的Word文档,其中有一种文档要求添加公司几个系统的数据库中的表结构.我临时接到了这项 ...
- Python学习笔记(八)
Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...
- Directx11学习笔记【八】 龙书D3DApp的实现
原文:Directx11学习笔记[八] 龙书D3DApp的实现 directx11龙书中的初始化程序D3DApp跟我们上次写的初始化程序大体一致,只是包含了计时器的内容,而且使用了深度模板缓冲. D3 ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- 【JAVAWEB学习笔记】06_jQuery基础
接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...
- CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
随机推荐
- (jmeter笔记)jmeter导出excel,中文显示乱码
导出excel显示乱码 解决方法:http请求--Content encoding写utf-8 导出如下:
- Leetcode48 旋转图像
48. 旋转图像 难度中等432 给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵.请不要使用另一个矩阵 ...
- Leecode-每日一题-题目448. 找到所有数组中消失的数字
今天重新开始刷leecode 为了致敬我的偶像,还是选择把做题笔记发在博客园上 题目448. 找到所有数组中消失的数字 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数 ...
- CSRF跨站点请求伪造(Cross Site Request Forgery)攻击
CSRF跨站点请求伪造(Cross Site Request Forgery)和XSS攻击一样,有巨大的危害性,就是攻击者盗用了用户的身份,以用户的身份发送恶意请求,但是对服务器来说这个请求是合理的, ...
- Linux查看进程调用接口跟踪命令strace
sudo strace -f -p 9022 -e connect
- UE C++教程之接口 UINTERFACE
我是谁不重要,重要的是,我能做什么. 近期笔者在进行UE的开发时,实现多武器的换弹与开火需要用到接口.而笔者以前是做Unity开发的,遂没有使用过UE C++的UINTERFACE,而这个接口在使用过 ...
- 如何解决7z: command not found问题
7z是一种常见的压缩文件格式,如果你想要压缩或解压缩7z文件,你需要在你的系统上安装p7zip和p7zip-full.但是,有时候你会发现当你尝试运行7z或7za命令时,它会显示"bash: ...
- Linux_MySQL
MySQL 安装 AB复制 安装 1.编译安装 2.yum安装 [https://www.mysql.com/] yum安装的方式 1.在官网下载mysql rpm包 # wget https://d ...
- HBuilder uniapp手机定位
// 获取当前位置 getPosition: function() { this.GetLocation(function(res) { if (res) { this.longitude = res ...
- css cursor: url() 使用火狐浏览器问题,鼠标没有效果
在火狐浏览器问题使用cursor: url():鼠标没有效果,需要给使用标签添加一个height