`

我们一起读文档,学习MyBatis(一)----------- 一个简单demo的实现

阅读更多

   第一步,创建SqlSessionFactory,方法有两种:

       第一种:根据XML配置创建(Building SqlSessionFactory from XML)

   java源代码:

String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
	inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
		e.printStackTrace();
}

 

 

   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.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/dxsf?characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  
   <mappers>
    <mapper resource="mapper/BlogMapper.xml"/>
  </mappers>
  
</configuration>

 

 

    第二种:不使用XML配置创建SqlSessionFactory ( Building SqlSessionFactory without XML)

 

	DataSource dataSource = new PooledDataSource("com.mysql.jdbc.Driver",  
		        "jdbc:mysql://localhost/dxsf?userUnicode=true&amp;characterEncoding=utf8", "root", "123456"); 
		TransactionFactory transactionFactory = new JdbcTransactionFactory();
		Environment environment = new Environment("development", transactionFactory, dataSource);
		Configuration configuration = new Configuration(environment);
		configuration.addMapper(BlogMapper.class);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);

 

 

第二步,获取SqlSession并执行持久化操作

     在MyBatis的文档中执行自定义的方法时有两种方法,但是首先,都得先定义xxxMapper.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="mapper.BlogMapper">
  <select id="selectBlog" parameterType="int" resultType="model.Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

     以上的XML配置还可以由注解来实现:   自己定义Mapper接口

 

package org.mybatis.example;
public interface BlogMapper {
  @Select("SELECT * FROM blog WHERE id = #{id}")
  Blog selectBlog(int id);
}

  但是,由于注解的限制以及项目的复杂性,官方是不推荐这样使用的。个人认为,在xml配置文件中不仅结构清晰,而且易于维护。

 

 

然后在调用方法执行:

 

    第一种:

SqlSession session = sqlSessionFactory.openSession();
		try {
		  Blog blog = session.selectOne("model.BlogMapper.selectBlog", 1);
		  System.out.println(blog+"\n" + blog.getId() + "  " + blog.getTitle() + "   " + blog.getContent());
		} finally {
		  session.close();
		}

 

    这个代码很好理解:配置文件中的namaspace+id即可。

   第二种:

BlogMapper mapper = session.getMapper(BlogMapper.class);
Blog blog = mapper.selectBlog(101);

     这里看着很清晰,可是我刚看的时候不明白的是编辑器不会自动提示BlogMapper,而且我写上以后还会编辑错误,那么这个BlogMapper是什么呢?经过询问和搜集资料,得知这个是自己定义的一个接口,具体的内容如下:

public interface BlogMapper {
	Blog selectBlog(int id);
}

 

 

 

运行上面的代码即可以查出来数据。

 

 

 

4
2
分享到:
评论

相关推荐

    mybatis-plus-dynamic-datasource

    mybatis-plus-dynamic-datasource 是一个专门为 SpringBoot 应用设计的、基于 MyBatis-Plus 的动态数据源解决方案,它允许我们在运行时动态地选择或切换不同的数据源,极大地提高了系统的灵活性和可扩展性。...

    Java开发案例-springboot-01-整合MyBatis-Plus-源代码+文档.rar

    Java开发案例-springboot-01-整合MyBatis-Plus-源代码+文档.rar Java开发案例-springboot-01-整合MyBatis-Plus-源代码+文档.rar Java开发案例-springboot-01-整合MyBatis-Plus-源代码+文档.rar Java开发案例-...

    mybatis-plus-demo.zip

    本示例项目 "mybatis-plus-demo" 是一个简单的 MyBatis-Plus 入门教程,旨在帮助开发者快速了解并掌握 MyBatis-Plus 的基本用法。 1. **MyBatis-Plus 简介** MyBatis-Plus 是 MyBatis 的轻量级框架,它在 MyBatis ...

    springboot-mongodb-mybatis-demo.zip

    本项目"springboot-mongodb-mybatis-demo"将这三个组件整合在一起,提供了一个完整的实例,旨在帮助开发者理解并掌握这三者之间的协同工作。 1. Springboot介绍: Springboot旨在简化Spring应用程序的初始搭建以及...

    springboot-mybatis-druid-mongodb-logback-demo.zip

    《整合Springboot、Mybatis-Plus、MongoDB、Druid与Logback的实战解析》 在现代企业级应用开发中,快速构建高效稳定...这个实例不仅是一个学习工具,也是实际项目中可参考的模板,帮助开发者快速搭建符合需求的系统。

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar

    Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar Java开发案例-springboot-47-整合Mybatis-Flex操作SQL-源代码+文档.rar...

    springboot-mybatis-demo-master.zip_DEMO_spring boot_springboot_s

    【描述】"一个简单的微服务项目,使用springboot+mybatis整合" 提示我们,这个项目是围绕Spring Boot的轻量级特性,结合MyBatis强大的持久层框架来设计的。Spring Boot简化了Spring应用的初始搭建以及开发过程,它...

    mybatis-Demo.zip

    总的来说,`mybatis-Demo.zip`是一个学习和实践MyBatis框架的好资源。通过分析和运行这个项目,你可以深入理解MyBatis如何与Spring、Maven等其他框架集成,以及如何进行数据库操作。同时,这也是一个了解Java开发...

    springboot+mybatis-plus+swagger2全注释入门demo,让你代码更优雅

    总结来说,这个"springboot+mybatis-plus+swagger2全注释入门demo"项目是一个极好的学习资源,它教你如何利用现代Java开发工具构建一个优雅、规范的RESTful API服务。通过实践这个项目,你不仅可以掌握SpringBoot、...

    springboot-mybatis-druid-mongodb-logback-swagger-demo.zip

    这是一个基于Spring Boot 2.0的综合应用实例,集成了多个关键组件,旨在提供一个高效、易用的开发环境。让我们逐一深入探讨这些组件及其在项目中的作用。 首先,Spring Boot 2.0是Java领域非常流行的微服务框架,它...

    KingbaseES客户端编程开发框架-MyBatis-Plus

    以下是一个简单的Spring MVC项目中整合MyBatis-Plus的示例配置: ```xml &lt;!-- Spring配置文件 --&gt; &lt;bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&gt; ...

    mybatis demo

    【描述】"simple mybatis demo" 提示我们这是一个简单的应用实例,可能是为了展示如何在实际项目中配置和使用MyBatis。通常,一个MyBatis的简单示例会包括以下几个部分:配置XML映射文件、创建DAO接口、实现该接口...

    springboot-mybatis整合demo

    在这个"springboot-mybatis整合demo"项目中,它们被整合在一起,以便于开发者更高效地开发和测试Web服务。同时,项目还引入了Swagger,这是一个强大的API文档工具,用于生成和展示RESTful API。 首先,让我们深入...

    mybatis_generator使用手册

    使用 MyBatis Generator 生成的代码可以直接使用,例如创建一个 UserService 接口和其实现类 UserServiceImpl。 ``` public interface UserService { List&lt;User&gt; getAllUsers(); } public class UserServiceImpl ...

    SpringMVC-Mybatis-Maven-MySQL 导入Excel并解析单元格写入数据库的demo

    在本项目中,"SpringMVC-Mybatis-Maven-MySQL 导入Excel并解析单元格写入数据库的demo" 是一个完整的Web应用程序示例,它演示了如何使用流行的Java技术栈来处理Excel文件并将其数据存储到MySQL数据库中。这个项目...

    mybatis 初次学习的小demo

    在初次接触MyBatis时,通过一个简单的Demo可以帮助我们快速理解其核心概念和使用方式。下面将详细介绍这个"Mybatis 初次学习的小demo"中的关键知识点。 1. **MyBatis简介** MyBatis消除了几乎所有的JDBC代码和手动...

Global site tag (gtag.js) - Google Analytics