每日一学--matlab--02
开始进行查询操作,大部分的操作与增删改一致【不会就看之前的一章,有讲】,但是查询需要在映射里面条添加一个样式。
就是resultType和resultMap,加了其中的一个才可以执行搜索操作,同时在我之前运行时出现了找不到数据库里面的信息的情况,后来发现时User定义的时候没有保证变量名与数据库的里面的名称保持一致,导致无法查询到数据。将其改成与数据库里面的数据名称一样就行了
至于为啥,我也不到,望有朝一日有大佬可以给我解释一下
mybatis的核心配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!--声明版本号--> <!--声明约束--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--
environments:配置多个连接数据库的环境
default:代表默认使用的环境的id
--> <environments default="development">
<!--id表示连接数据库的唯一标识-->
<environment id="development"> <!-- 设置事务了解器的类型 --> <transactionManager type="JDBC"/> <!--数据源,联接数据库的信息,进行一个保存操作--> <dataSource type="POOLED"> <!-- 这里面输入连接数据库的信息 --> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/red_boy"/> <property name="username" value="root"/> <property name="password" value="111111"/> </dataSource> </environment> </environments> <!-- 引入映射文件 --> <mappers> <mapper resource="Mappers/UserMapper.xml"/> </mappers> </configuration>
接下来就是使用propertise进行连接数据库
1.创建一个propertise文件
里面的数据
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/red_boy
jdbc.username=root
jdbc.password=111111
加jdbc目的是为了之后如果还要使用这种操作的时候还可以区分
然后在主配置文件里面的数据就可以改了
<?xml version="1.0" encoding="UTF-8" ?> <!--声明版本号--> <!--声明约束--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="Mappers\jdbc.properties"/> <!-- 配置连接数据库的环境 --> <environments default="development"> <environment id="development"> <!-- 设置事务了解器的类型 --> <!-- transactionManager:设置事务管理的方式 属性:type="JDBC/MANAGED" JDBC:表示当前环境中,执行sql时,使用的是jdbc中的原生的事务管理方式 MANAGED:被管理 --> <transactionManager type="JDBC"/> <!-- dataSource:数据源,联接数据库的信息,进行一个保存操作 属性: type:设置数据类型 type= "POOLED/UNPOOLED/JNDI" POOLED:使用数据库缓冲池缓存数据库连接 UNPOOLED:不使用数据库缓冲池缓存数据库连接 --> <dataSource type="POOLED"> <!-- 这里面输入连接数据库的信息 --> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <!-- 引入映射文件 --> <mappers> <mapper resource="Mappers/UserMapper.xml"/> </mappers> </configuration>
【前提是引入了,特别是位置别错了】这样就是通过properties来进行访问
类型别名:不区分大小写
这个地方我感觉最重要的应该是那个标签的先后顺序,假如先后顺序出错就会导致文件报错
然后我们在后面如果还需要使用到这个地址就可以直接使用别名来替代
效果一样
mapper引入映射文件还可以改成映射一个包
但是有要求:
1.mapper接口所在的包要和映射文件所在的包一致
2.mapper接口要和映射文件的名字一致
这个是按xml来引入的、下面那个就是按照包来引入
这样就可以把包里面的全部的xml引入mybatis里面了
在idea里面创建包要用"/"来使用【如下图就是用com/wx/mapper来实现的】
如果我们使用.来进行实现的话就会是一个文件夹叫那个【例如一个包的名字叫com.wx.mapper】
3和4的一样指的是整个文件夹一样,比如我的这个上面没有com.wx.mybatis,所以我这个导入就是错的
完美解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?