继续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学习笔记第八弹的更多相关文章

  1. Javaweb学习笔记——(八)——————常见系统体系结构,Tomcat,以及web的内部外部应用,http协议概述

    ·软件系统体系结构: 1.常见软件系统体系结构B/S.C/S C/S 1.C/S结构即客户端/服务器(Client/Server),列如QQ: 2.需要编写服务器端程序,以及客户端程序,列如我们安装的 ...

  2. JavaWeb学习笔记(八)—— EL表达式

    一.EL表达式概述 在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护.为此,在JSP2.0规范中提供了EL表达式.EL全名 ...

  3. JavaWeb学习笔记总结 目录篇

    JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...

  4. VSTO学习笔记(八)向 Word 2010 中写入表结构

    原文:VSTO学习笔记(八)向 Word 2010 中写入表结构 前几天公司在做CMMI 3级认证,需要提交一系列的Word文档,其中有一种文档要求添加公司几个系统的数据库中的表结构.我临时接到了这项 ...

  5. Python学习笔记(八)

    Python学习笔记(八): 复习回顾 递归函数 内置函数 1. 复习回顾 1. 深浅拷贝 2. 集合 应用: 去重 关系操作:交集,并集,差集,对称差集 操作: 定义 s1 = set('alvin ...

  6. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  7. Directx11学习笔记【八】 龙书D3DApp的实现

    原文:Directx11学习笔记[八] 龙书D3DApp的实现 directx11龙书中的初始化程序D3DApp跟我们上次写的初始化程序大体一致,只是包含了计时器的内容,而且使用了深度模板缓冲. D3 ...

  8. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  9. 【JAVAWEB学习笔记】06_jQuery基础

    接05的学习笔记. 四.使用JQ完成省市二级联动 1.需求分析 使用jquery完成省市二级联动 2.技术分析 2.1数组的遍历操作 方式一: $(function(){ // 全选/ 全不选 $(& ...

  10. CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

随机推荐

  1. 开发谷歌插件--web3钱包(一)

    之前开发了一款谷歌插件,因为很简单没有什么好记录的. 这次记录下一款新的钱包功能的插件,其中遇到的问题,以及解决方案. 首先遇到的问题就是唤醒: 小狐狸钱包应该都用过,点击图标就会唤起登录页面(pop ...

  2. TypeScript - 构造函数 constructor

    class Dog { // 需要先定义,才能在constructor中this指向 name: string; age: number; // 构造函数,会在对象创建时调用 // new Dog() ...

  3. lua中self的意义

    原文链接 最近在用合宙的Air302开发物联网项目,因为合宙用的自家的luatOS操作系统,二次开发全都要用lua写,据说lua写起代码比C更方便,但是不会就是不会啊喂!!学不会就是不方便啊,例如这个 ...

  4. 实验一 密码引擎-1-OpenEuler-OpenSSL编译

    1. 下载最新的OpenSSL源码 2. 用自己的8位学号建立一个文件夹,cd 你的学号,用pwd获得绝对路径 3. 参考https://www.cnblogs.com/rocedu/p/508762 ...

  5. java 类对象四种方法加载方式

    public static void main(String[] args) throws Exception { //第一种 //这里需要做异常处理,或的加载类的类对象类. Class<?&g ...

  6. 应用Sequelize创建项目

    创建项目: 第一步:安装express-generator -g 第二步:安装ejs模板  express --view=ejs 项目名 第三步:安装依赖进入项目 npm i ------------ ...

  7. c++学习 4 运算符及其应用技巧

    一 按位与运算符 "&"按位与运算符,全1为1,有0则0. 特点:和1相与保持不变,和0相与都变为0. 功能:将指定位置清0. example: 1000 1100 &am ...

  8. css/js使用小技巧记录

    1.白底小图标换色 .iconBox { position: relative; width: 19px; height: 19px; overflow: hidden; // 隐藏原本颜色的图片 . ...

  9. kubernetes系列—Ubuntu下搭建Kubernetes集群--k8s部署

    1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 2.安装kubernetes 2.1  关闭防火墙 在每台机器上关闭防火墙: ① 关闭服务,并设为开机不自启 $ ...

  10. mysql 循环 例子

    mysql 循环生成数据demo: DROP PROCEDURE IF EXISTS test_insert; DELIMITER;; CREATE PROCEDURE test_insert() B ...