java学习9.21
今天回炉mybatis的用法,由于之前只是跟着教程走能成功配置数据库,但是一旦出现细小的区别就会产生自己改不了的bug,因此熟悉mybaits和其他技术的内容。知道问题出在哪里,以及怎么改。
mybatis配置
1.导入操作
(1)官网下载jar包并导入
(2)maven直接导入依赖
2.导入完之后创建mybatis-config.xml文件
再将默认配置导入这个xml文件
<?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="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
</configuration>
对于目前练习来说只需要填写后面的
url数据源
username数据库用户名称
password数据库密码
3.idea连接数据库,并将数据库源导入mybatis-config.xml文件
4.在IDEA和表中创建实体类User,表用navicat创建
package com.test.entity;
import lombok.Data;
@Data
public class User {
int id;
String name;
int age;
}
5.创建TestMapper.xml来写映射关系
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="testMapper">
<select id="selectAllUser" resultType="com.test.entity.User">
select * from user
</select>
</mapper>
除了select包含的内容其他的可以视为模板直接导入。这里select * from user的作用是从表user中选择全部数据
6.最后在main函数中写sql语句
package com.test;
import com.test.entity.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.FileInputStream;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build( new FileInputStream("mybatis-config.xml"));
try(SqlSession session = factory.openSession(true))
{
List<User> users = session.selectList("selectAllUser");
users.forEach(System.out::println);
}
}
}
至此一个打印所有用户的基本操作完成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!