创建dao接口IStudent:
package com.ibatis.dao;
import java.util.List;
import com.ibatis.model.Student;
public interface IStudentDAO {
public void addStudent(Student stu);
public void addStudentBySequence(Student stu);
public void deleteStudentById(int id);
public void updateStudent(Student stu);
public List<Student> queryAllStudents();
public List<Student> queryStudentsByName(String name);
public Student queryStudentById(int id);
}
---------------------------------------------
改写Student.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.ibatis.dao.IStudentDAO">
<select id="selectAllStudents" resultType="Student">
select * from student
</select>
</mapper>
---------------------------------------------
创建Ibatis DAO实现类:
package com.ibatis.dao.impl;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.ibatis.dao.IStudentDAO;
import com.ibatis.model.Student;
public class IStudentDAOIbatisImpl implements IStudentDAO {
SqlSession sqlSession = null;
static SqlSessionFactory sf;
static{
Reader reader = null;
try {
reader = Resources.getResourceAsReader("com/ibatis/SqlMapConfig.xml");
} catch (IOException e) {
e.printStackTrace();
}
sf = new SqlSessionFactoryBuilder().build(reader);
}
public List<Student> queryAllStudents() {
List<Student> students;
try{
sqlSession = sf.openSession();
students = sqlSession.selectList("selectAllStudents");
}finally{
sqlSession.close();
}
return students;
}
}
-------------------------------------------------------
创建junit测试:
public class IStudentDAOIbatisImplTest {
@Test
public void queryAllStudentsTest(){
IStudentDAO sDAO = new IStudentDAOIbatisImpl();
List<Student> students = sDAO.queryAllStudents();
System.out.println(students);
}
}
分享到:
相关推荐
6. **结果映射**:查询结果会自动映射到Java对象,MyBatis支持基本类型和复杂类型的映射。在映射文件中,你可以定义`<resultMap>`标签来指定字段与Java属性之间的对应关系。 7. **Mapper接口与XML映射文件**:在...
3. 在Service层调用Mapper接口的查询方法,获取所有用户数据。 4. 最后,Controller层将Service返回的数据传递给视图,展示在前端页面上。 此外,项目中可能还包括Hibernate框架的相关内容。虽然主要使用了...
7. **结果映射**:MyBatis通过结果映射将数据库查询的结果自动映射到Java对象,这包括基本类型、复杂类型(如自定义对象)以及集合类型的映射。 8. **性能优化**:通过Log4j输出的SQL日志,可以分析SQL执行效率,...
MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接映射到Java对象。这个文档主要介绍了MyBatis框架的核心概念和基本使用步骤。 首先,MyBatis的配置文件分为两个部分:全局...
针对这一需求,"mybatis 存储数据对象数据自动加解密插件"应运而生,它旨在为Mybatis提供一个便捷的数据加解密解决方案,以确保数据在存储和检索过程中的安全性。 该插件的工作原理是在数据被持久化到数据库之前...
在MyBatis的映射XML文件中,`<collection>`标签用于表示一对多的关系,它允许我们在一次查询中获取到一个对象的所有子对象,从而构建出树形结构。例如,如果我们有一个`Department`实体类,其中包含一个`List...
SqlSessionFactory是MyBatis的工厂类,负责创建SqlSession对象,而SqlSession则用于执行SQL语句并与数据库交互。 在不使用Mapper接口的情况下,我们需要在SQL映射文件中编写SQL语句。这个文件通常以`.xml`为扩展名...
这篇博文“MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象”探讨的是如何在Java编程中实现对象属性的深度复制。MyBatis是一个流行的Java持久层框架,它简化了数据库操作,而对象复制则是处理业务...
MyBatis 分页查询是数据库操作中常见的需求,特别是在处理大量数据时,为了提高用户体验和系统性能,分页展示数据显得尤为重要。MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,可以方便...
这个"一个简单的mybatis查询数据库demo源码"是用于演示如何在实际项目中使用MyBatis来执行数据库查询的实例。 首先,MyBatis的核心组件包括XML配置文件、SqlSessionFactory和Mapper接口。XML配置文件定义了数据源、...
本项目“SpringBoot+mybatis+MySQL对象生成器”旨在自动化处理数据库表与Java对象之间的映射,提高开发效率。 SpringBoot是由Pivotal团队维护的一个基于Spring框架的启动器,它简化了Spring应用的初始搭建以及开发...
在本项目中,我们探讨的是如何使用MyBatis来实现查询所有数据的功能。这个过程通常涉及配置MyBatis的XML映射文件、编写Java接口与实现类,以及设置数据库连接等步骤。 首先,我们需要一个数据库环境,这里提到了...
- XML映射文件通常包含SQL查询、参数映射和结果集映射,它们定义了MyBatis如何执行查询并将结果转换为Scala对象。 4. **Scala中的SQL查询** - 使用Scala版MyBatis,我们可以通过调用Mapper接口的方法执行SQL查询...
3. **生成的文件**:生成的文件包括Java实体类(PO),这个类包含了数据库表中的所有字段,每个字段对应一个Java属性;Mapper接口,定义了CRUD操作;以及Mapper XML文件,包含了具体的SQL语句。 4. **整合到项目**...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 ...
这样,当执行查询时,MyBatis会自动处理这种复杂的一对一关系,将查询结果组装成完整的`User`对象,其中包含了`UserDetail`对象。 总结一下,MyBatis中的一对一查询主要通过`resultMap`、`id`、`result`以及`...
MyBatis 是一款著名的Java持久层框架,它简化了数据库操作与对象之间的映射工作,提供了灵活的SQL映射和事务管理。MyBatis 的核心是它的XML或注解方式的映射文件,通过这些配置,我们可以将SQL语句、参数绑定以及...
本示例将探讨如何在Spring环境中实现MyBatis的关联查询,包括一对多、一对一和多对多关系的处理。理解这些关联关系对于构建复杂的业务逻辑至关重要。 首先,我们需要配置Spring与MyBatis的整合。这通常涉及以下几个...
这个方法应该调用MyBatis的SqlSession对象,执行分页查询,并返回结果集。例如: ```java public List<YourEntity> selectPage(int start, int size) { Map, Object> params = new HashMap(); params.put("start...