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
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;
}
}
配置文件: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>
<select id="selectif" parameterType="Demo" resultMap="userResultMap">
select <include refid="allColumnsWithoutId"/> from demo
where '1' = '1'
<if test="content !=null">
and content = #{content}
</if>
<if test="title !=null">
and title = #{title}
</if>
</select>
<select id="selectchoose" parameterType="Demo" resultMap="userResultMap">
select * from demo
where '1'='1'
<choose>
<when test="content !=null">
and content = #{content}
</when>
<when test="title != null">
and title = #{title}
</when>
<otherwise />
</choose>
</select>
<select id="">
<foreach collection="list" item="ids"
open="(" separator="," close=")"
>
</foreach>
</select>
<!--foreach:遍历传进来的list 以开头 以 分割 以结束 -->
<select id="selectlist" resultMap="userResultMap">
select * from demo where id in
<foreach collection="list" item="demoIds" open="(" separator="," close=")">
#{demoIds}
</foreach>
</select>
</mapper>
Test类:
package com.aowin.dao;
import java.util.ArrayList;
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 static void main(String[] args) {
// SqlSession session = DBUtil.getSqlSession();
//
// Demo demo = new Demo();
// demo.setContent("yy");
// demo.setTitle("yy");
// List<Demo> demos = session.selectList("name_space.selectif", demo);
// for(Demo d : demos){
// System.out.println(d.getContent());
// }
//
// session.commit();
// session.close();
// SqlSession sqlSession = DBUtil.getSqlSession();
// Demo d = new Demo();
// d.setContent("zzzzz");
// d.setTitle("zz");
// List<Demo> demos = sqlSession.selectList("name_space.selectchoose",d);
// for(Demo demo : demos){
// System.out.println(demo.getTitle());
// }
SqlSession session = DBUtil.getSqlSession();
List<Integer> demoIds = new ArrayList<Integer>();
demoIds.add(26);
demoIds.add(27);
demoIds.add(28);
List<Demo> demos = session.selectList("name_space.selectlist",demoIds);
for(Demo demo :demos){
System.out.println(demo.getContent());
}
}
}
分享到:
相关推荐
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。
【标题】:Mybatis系列教程Mybatis基本应用共9页.pdf 【描述】:这份教程是关于Mybatis基本应用的详细讲解,包含了9页丰富的内容,旨在帮助学习者深入理解和掌握Mybatis这一强大的持久层框架。 【标签】:Mybatis...
《Spring+Mybatis企业应用实战HR项目源代码》是一份专为JavaEE初学者设计的实战教程,旨在帮助他们深入理解和应用Spring与Mybatis两大框架。这个项目名为"SSM",代表Spring、SpringMVC和Mybatis的集成,是Java后端...
在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...
《Spring-MYBatis企业应用实战》是一本深入讲解如何在实际项目中集成并使用Spring和MyBatis框架的书籍。Spring是一个强大的Java应用程序框架,它提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...
MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...
在本主题中,我们将深入探讨Mybatis在数据库基本应用中的关键功能,包括增删改查(CRUD)操作,以及如何与Eclipse集成进行开发。 1. **Mybatis概述** Mybatis是一个轻量级的ORM(对象关系映射)框架,它消除了几乎...
这个实战项目涵盖了从基本配置到复杂业务处理的诸多方面,对于提升开发者在企业级Java应用开发中的技能大有裨益。通过研究源码,不仅可以巩固理论知识,还能积累实践经验,对解决实际问题有很大帮助。
2. **Mybatis入门**:讲解Mybatis的基本使用,包括XML配置、Mapper接口、动态SQL等功能,以及如何进行数据访问。 3. **Spring与Mybatis的整合**:详解如何将Spring的IoC容器与Mybatis结合,使用Spring管理Mybatis的...
在"第二版"的封装中,这可能体现在对配置文件的优化,使得SpringBoot和MyBatis的配置更加简洁,同时不影响应用的核心业务逻辑。例如,通过自动配置(AutoConfiguration)特性,SpringBoot可以自动识别并配置MyBatis...
《Spring MyBatis企业应用实战》是一本由疯狂软件编著的IT技术书籍,于2017年出版。这本书主要面向的是希望深入理解和实践Spring与MyBatis整合开发的IT从业者,尤其对于那些在企业级应用开发中使用这两项技术的...
对于新手而言,掌握 Mybatis 的基本应用是 JavaEE 开发中不可或缺的一部分。本实验旨在帮助初学者理解 Mybatis 的核心概念,并通过实际操作来加深对这一框架的理解。 首先,我们要了解 Mybatis 的基本架构。Mybatis...
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则是一个优秀的持久层框架,使得数据库操作变...
通过学习《Spring+MyBatis企业应用实战》,读者不仅可以掌握这两个框架的基本使用,还能了解到如何在实际项目中有效集成和优化它们,从而提升软件开发的效率和质量。在HRM系统的实现过程中,读者还能学习到如何设计...
4. **基本的增删改查操作**:MyBatis提供了简单的API来支持常见的CRUD操作,如`insert()`, `update()`, `delete()`, `select()`,并能通过参数对象动态设置SQL条件。 5. **动态SQL**:动态SQL是MyBatis的一大亮点,...
在企业级应用开发中,MyBatis 是一个广泛使用的持久层框架,它允许开发者将 SQL 查询与 Java 代码直接结合,提供了比传统 JDBC 更高效、更便捷的数据访问方式。本实验报告将详细阐述如何在 MyBatis 中进行关联映射的...
《SpringMVC+MyBatis企业应用实战》是针对初学者和...通过《SpringMVC+MyBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本使用,还能了解到企业级应用开发中的最佳实践,为个人的职业发展打下坚实的基础。
通过《Spring MVC+MYBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本用法,还能了解到如何在实际项目中有效地整合它们,解决常见的问题,从而提升开发效率和代码质量。书中可能会涵盖各种实战案例,如...