继续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前)

最后的使用结果是不区分大小写,直接定义为类型别名即可

配置各个标签时,需要遵守前后顺序

最新文章

  1. 运用ASP.NET实现
  2. java appium api
  3. 读取其他软件listview控件的内容
  4. jqueyr获取动态创建的元素
  5. asp.net identity 2.2.0 在MVC下的角色启用和基本使用(一)
  6. Web fonts
  7. SAE、搜狐云景和百度云之初见
  8. js 去除字符串左右两端的空格
  9. AngularJS and Asp.net MVC
  10. maven系列--maven目录
  11. luogu P1602 Sramoc问题
  12. MySQL学习10 - 多表查询
  13. 获取当前TestStep发送的request信息
  14. 全网最详细的Windows里Anaconda-Navigator启动后闪退的解决方案(图文详解)
  15. slurmdbd.conf系统初始配置
  16. 我的github地址
  17. Deep Learning Terminologies
  18. 开源项目-SlideMenu和actionbarsherlock的配置
  19. MVC结构之Service概念
  20. ESP8266 station模式下建立client、server TCP连接

热门文章

  1. unity读取Excel表格保存到Sqlite数据库
  2. HTTP和HTTPS的定义和区别
  3. nuxt.js的导航守卫
  4. [postman的使用]postman捕获https请求
  5. SQL Server 还原数据库
  6. curl post请求body体内传参数
  7. 搭建sftp服务器
  8. 剑指Offer2---------替换空格
  9. @DeclareParents声明对象的AOP
  10. 使用angular/cli新建一个angular项目