src下的配置文件:config.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>
<!-- 读取jdbc.properties 文件 -->
<properties resource="jdbc.properties" />
<!-- 取别名 -->
<typeAliases>
<typeAlias type="com.aowin.model.Demo" alias="Demo" />
</typeAliases>
<!-- 配置数据库连接信息 -->
<!-- 告诉mybatis用development环境-->
<environments default="development">
<!-- 开发环境 -->
<environment id="development">
<transactionManager type="JDBC" />
<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="com/aowin/model/demo.xml"/>
</mappers>
</configuration>
model 下的 类的配置文件:
demo.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">
<!-- 对model类进行映射
namespace:命名空间
-->
<mapper namespace="name_space">
<resultMap type="Demo" id="userResultMap">
<!-- 数据表和model类属性一一对应 -->
<result column="id" property="id" javaType="int" />
<result column="content" property="content" javaType="string" />
<result column="title" property="title" javaType="string" />
</resultMap>
<sql id="AllColumn">
id,content,title
</sql>
<!-- 声明sql片段 -->
<sql id="allColumnsWithoutId">
content,title
</sql>
<select id="selectAllDemos" resultMap="userResultMap">
select <include refid="AllColumn"/> from demo
</select>
<!-- 参数ID 可以任意取名 -->
<select id="selectDemoById" resultMap="userResultMap" parameterType="int">
select <include refid="AllColumn"/> from demo where id = #{id}
</select>
<!-- 传递多个参数-->
<select id="selectDemoBytilteAndContent" resultMap="userResultMap" parameterType="Demo">
select <include refid="AllColumn"/> from demo
where content = #{content} and title = #{title}
</select>
<insert id="insertOneDemo" parameterType="Demo">
insert into demo (<include refid="allColumnsWithoutId"/>) values (#{content},#{title})
</insert>
<!-- 更新demo -->
<update id="updateDemo" parameterType="Demo">
update demo set content=#{content}
where id= #{id}
</update>
<!-- 删除一条demo记录 -->
<delete id="deleteDemoById" parameterType="int">
delete from demo where id = #{id}
</delete>
</mapper>
Demo.java 类
package com.aowin.model;
public class Demo {
private int id;
private String content;
private String title;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
创建SessionFactroy
package com.aowin.util;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class DBUtil {
private static SqlSessionFactory sessionFactory = null;
static {
String resource = "config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 拿到SqlSessoin. MyBatis操作数据库是通过SqlSession来完成的
* @return
*/
public static SqlSession getSqlSession(){
return sessionFactory.openSession();
}
}
运行类:
package com.aowin.dao;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import com.aowin.model.Demo;
import com.aowin.util.DBUtil;
/**
* MyBatis:把SQL单独写到配置文件中
* 简化JDBC操作
* @author jie.guo(mozzz.iteye.com)
*/
public class DemoDAO {
public List<Demo> getDemos(){
SqlSession session = DBUtil.getSqlSession();
//命名空间+sql的ID 命名空间与包名没有关系 一般取模块的名字
List<Demo> demoList = (List<Demo>)session.selectList("name_space.selectAllDemos");
return demoList;
}
public static void main(String[] args) {
// List<Demo> demos = new DemoDAO().getDemos();
// for(Demo demo :demos){
// System.out.println(demo.getContent());
// }
// SqlSession session = DBUtil.getSqlSession();
// Demo demo = (Demo)session.selectOne("name_space.selectDemoById", 1);
// System.out.println(demo.getContent());
//
// SqlSession session = DBUtil.getSqlSession();
// Demo demo = new Demo();
// demo.setTitle("hh2");
// demo.setContent("hh2");
// Demo demo2 = (Demo)session.selectOne("name_space.selectDemoBytilteAndContent",demo);
// System.out.println(demo2.getId());
//对于增加 修改 删除 要手动commit
// SqlSession session = DBUtil.getSqlSession();
// Demo demo = new Demo();
// demo.setContent("新闻内容");
// demo.setTitle("新闻标题");
// int result = session.insert("name_space.insertOneDemo", demo);
// System.out.println(result);
// session.commit();
// SqlSession session = DBUtil.getSqlSession();
// Demo demo = new Demo();
// demo.setId(9);
// demo.setContent("新的content");
// int result = session.update("name_space.updateDemo",demo);
// System.out.println(result);
// session.commit();
// SqlSession session = DBUtil.getSqlSession();
// session.delete("name_space.deleteDemoById",1);
// session.commit();
}
}
分享到:
相关推荐
【标题】:Mybatis系列教程Mybatis基本应用共9页.pdf 【描述】:这份教程是关于Mybatis基本应用的详细讲解,包含了9页丰富的内容,旨在帮助学习者深入理解和掌握Mybatis这一强大的持久层框架。 【标签】:Mybatis...
MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。
在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...
《Spring+Mybatis企业应用实战HR项目源代码》是一份专为JavaEE初学者设计的实战教程,旨在帮助他们深入理解和应用Spring与Mybatis两大框架。这个项目名为"SSM",代表Spring、SpringMVC和Mybatis的集成,是Java后端...
《Spring-MYBatis企业应用实战》是一本深入讲解如何在实际项目中集成并使用Spring和MyBatis框架的书籍。Spring是一个强大的Java应用程序框架,它提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...
这个实战项目涵盖了从基本配置到复杂业务处理的诸多方面,对于提升开发者在企业级Java应用开发中的技能大有裨益。通过研究源码,不仅可以巩固理论知识,还能积累实践经验,对解决实际问题有很大帮助。
在本主题中,我们将深入探讨Mybatis在数据库基本应用中的关键功能,包括增删改查(CRUD)操作,以及如何与Eclipse集成进行开发。 1. **Mybatis概述** Mybatis是一个轻量级的ORM(对象关系映射)框架,它消除了几乎...
2. **Mybatis入门**:讲解Mybatis的基本使用,包括XML配置、Mapper接口、动态SQL等功能,以及如何进行数据访问。 3. **Spring与Mybatis的整合**:详解如何将Spring的IoC容器与Mybatis结合,使用Spring管理Mybatis的...
《Spring MyBatis企业应用实战》是一本由疯狂软件编著的IT技术书籍,于2017年出版。这本书主要面向的是希望深入理解和实践Spring与MyBatis整合开发的IT从业者,尤其对于那些在企业级应用开发中使用这两项技术的...
6. **DAO(Data Access Object)层**:DAO接口和其实现类负责与数据库交互,通常包含增删改查等基本操作。MyBatis的动态SQL使得DAO层的代码更加简洁。 7. **Service层**:服务层是业务逻辑的核心,它封装了多个DAO...
在本示例中,我们探讨的是如何实现MyBatis的基本功能。这个压缩包提供了源代码和一个名为“mybatis映射笔记.odt”的文档,其中详细记录了在实现过程中关于映射遇到的问题和解决方案。 首先,我们要理解MyBatis的...
在IT行业中,Spring Boot和Mybatis是两个非常重要的框架,它们在构建现代Java应用程序中扮演着核心角色。Spring Boot简化了Spring应用的初始搭建以及开发过程,而Mybatis则是一个优秀的持久层框架,使得数据库操作变...
4. **基本的增删改查操作**:MyBatis提供了简单的API来支持常见的CRUD操作,如`insert()`, `update()`, `delete()`, `select()`,并能通过参数对象动态设置SQL条件。 5. **动态SQL**:动态SQL是MyBatis的一大亮点,...
通过学习《Spring+MyBatis企业应用实战》,读者不仅可以掌握这两个框架的基本使用,还能了解到如何在实际项目中有效集成和优化它们,从而提升软件开发的效率和质量。在HRM系统的实现过程中,读者还能学习到如何设计...
通过《Spring MVC+MYBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本用法,还能了解到如何在实际项目中有效地整合它们,解决常见的问题,从而提升开发效率和代码质量。书中可能会涵盖各种实战案例,如...
《SpringMVC+MyBatis企业应用实战》是针对初学者和...通过《SpringMVC+MyBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本使用,还能了解到企业级应用开发中的最佳实践,为个人的职业发展打下坚实的基础。
在企业级应用开发中,MyBatis 是一个广泛使用的持久层框架,它允许开发者将 SQL 查询与 Java 代码直接结合,提供了比传统 JDBC 更高效、更便捷的数据访问方式。本实验报告将详细阐述如何在 MyBatis 中进行关联映射的...
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数...对于SQL Server数据库的使用者,结合MyBatis的优势,可以更好地管理和维护数据库应用程序。