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前)
最后的使用结果是不区分大小写,直接定义为类型别名即可
配置各个标签时,需要遵守前后顺序
最新文章
- 运用ASP.NET实现
- java appium api
- 读取其他软件listview控件的内容
- jqueyr获取动态创建的元素
- asp.net identity 2.2.0 在MVC下的角色启用和基本使用(一)
- Web fonts
- SAE、搜狐云景和百度云之初见
- js 去除字符串左右两端的空格
- AngularJS and Asp.net MVC
- maven系列--maven目录
- luogu P1602 Sramoc问题
- MySQL学习10 - 多表查询
- 获取当前TestStep发送的request信息
- 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)
- slurmdbd.conf系统初始配置
- 我的github地址
- Deep Learning Terminologies
- 开源项目-SlideMenu和actionbarsherlock的配置
- MVC结构之Service概念
- ESP8266 station模式下建立client、server TCP连接