Mybatis对数据库简单操作参考.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
MyBatis 是一款著名的轻量级 Java ORM(对象关系映射)框架,它允许开发者将SQL语句直接写在XML映射文件中,使得数据库操作更为灵活和可控。以下是对"Mybatis对数据库简单操作"的详细说明: 1. **创建Web程序**: 在这个例子中,我们创建了一个名为`test-mybatis`的Web应用程序。这通常涉及到在IDE(如Eclipse、IntelliJ IDEA等)中新建一个动态Web项目,并设置好相关的目录结构,包括src、WEB-INF、lib等。 2. **配置文件config.properties**: 这个文件是用来存放应用程序的配置信息,比如数据库连接的URL、用户名和密码。通常内容可能如下: ``` db.url=jdbc:mysql://localhost:3306/testdb db.username=root db.password=root ``` 这些配置会被MyBatis的环境配置引用,用于建立与数据库的连接。 3. **实体类User**: 实体类是与数据库表相对应的Java类,这里创建的`User`类包含两个属性:`id`和`name`。为了方便操作,我们需要提供对应的getter和setter方法,以及`toString()`方法,用于打印对象的详细信息。例如: ```java public class User { private int id; private String name; // getters and setters public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } // toString method @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } } ``` 4. **配置configuration.xml**: MyBatis的核心配置文件,用于设置数据源、事务管理器、映射文件的位置等。示例配置可能如下: ```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> <properties resource="config.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${db.driver}"/> <property name="url" value="${db.url}"/> <property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="UserMapper.xml"/> </mappers> </configuration> ``` 5. **创建UserMapper.xml**: 这是MyBatis的映射文件,包含具体的SQL查询和结果映射。例如,插入用户和查询用户的映射可能如下: ```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="com.example.testmybatis.mapper.UserMapper"> <insert id="insertUser"> INSERT INTO users (name) VALUES (#{name}) </insert> <select id="getUserById" resultType="com.example.testmybatis.entity.User"> SELECT * FROM users WHERE id = #{id} </select> </mapper> ``` 6. **测试类UserDao**: 测试类用于验证我们的配置和映射是否正确。通过MyBatis的SqlSession接口,我们可以执行SQL并获取结果。例如: ```java package com.example.testmybatis.dao; import com.example.testmybatis.entity.User; import com.example.testmybatis.mapper.UserMapper; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; public class UserDao { private SqlSessionFactory sqlSessionFactory; public UserDao() throws IOException { InputStream inputStream = getClass().getClassLoader().getResourceAsStream("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public User getUserById(int id) { SqlSession session = sqlSessionFactory.openSession(); try { UserMapper mapper = session.getMapper(UserMapper.class); User user = mapper.getUserById(id); return user; } finally { session.close(); } } } ``` 通过以上步骤,我们就完成了一个基本的MyBatis数据库操作流程,包括了创建实体、配置文件、映射文件以及测试类。在实际应用中,还需要考虑异常处理、事务管理、多表操作等更复杂的场景。MyBatis的强大之处在于其灵活性和可扩展性,允许开发者根据需求自由定制SQL语句,同时提供了强大的缓存机制和结果映射功能,大大简化了Java应用中的数据库操作。
- 粉丝: 0
- 资源: 7万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Navicat.zip
- 麻雀搜索算法(SSA)文章复现:《基于混沌麻雀搜索算法的无人机航迹规划方法-汤安迪》 策略为:立方混沌+反向学习初始化种群+反向精英策略改进发现者策略+正余弦算法改进加入者策略+动态调整警觉者
- “田园风光在线”:打造村旅游信息平台
- Ollama.zip大模型
- 土地利用/土地覆盖数据(蚌埠市)对应代码表
- 基于Unity 3D的旅游景点漫游设计
- 基于混沌-高斯变异-麻雀搜索算法(CGSSA)优化BP神经网络(CGSSA-BP)的回归预测(含优化前后对比)MATLAB代码 代码注释清楚 main为主程序,可以读取EXCEL数据 很方便
- xyy_localhost-2024_12_24_14_32_06-dump.sql
- C++模板与泛型编程入门教程:代码重用与类型安全
- 面向对象编程语言Objective-C基础语法详解及应用
- MATLAB在ThingSpeak中应用信号处理与数据可视化的技术实现
- VMware.zip虚拟机
- CFA知识点梳理系列:CFA Level II, Reading 6 Economic Growth
- goland 2024直接使用到2099年
- SecureCRT-9.6.0-mac
- Python 自动办公- Python分类汇总278张Excel表中的数据 Python源码