`
yejun0099
  • 浏览: 26449 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Mybatis的基本应用(二)

 
阅读更多

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基本使用总结

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。

    Mybatis系列教程Mybatis基本应用共9页.pdf

    【标题】:Mybatis系列教程Mybatis基本应用共9页.pdf 【描述】:这份教程是关于Mybatis基本应用的详细讲解,包含了9页丰富的内容,旨在帮助学习者深入理解和掌握Mybatis这一强大的持久层框架。 【标签】:Mybatis...

    Spring+Mybatis企业应用实战HR项目源代码

    《Spring+Mybatis企业应用实战HR项目源代码》是一份专为JavaEE初学者设计的实战教程,旨在帮助他们深入理解和应用Spring与Mybatis两大框架。这个项目名为"SSM",代表Spring、SpringMVC和Mybatis的集成,是Java后端...

    Mybatis基本应用实现增删改查

    在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...

    Spring-MYBatis企业应用实战-有详细目录

    《Spring-MYBatis企业应用实战》是一本深入讲解如何在实际项目中集成并使用Spring和MyBatis框架的书籍。Spring是一个强大的Java应用程序框架,它提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等...

    Mybatis基本应用开源架构源码2021.pdf

    MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...

    Mybatis数据库的基本应用

    在本主题中,我们将深入探讨Mybatis在数据库基本应用中的关键功能,包括增删改查(CRUD)操作,以及如何与Eclipse集成进行开发。 1. **Mybatis概述** Mybatis是一个轻量级的ORM(对象关系映射)框架,它消除了几乎...

    Spring+MyBatis企业应用实战 源码

    这个实战项目涵盖了从基本配置到复杂业务处理的诸多方面,对于提升开发者在企业级Java应用开发中的技能大有裨益。通过研究源码,不仅可以巩固理论知识,还能积累实践经验,对解决实际问题有很大帮助。

    spring+mybatis企业应用实战 PDF完整目录 方便阅读器跳转阅读

    2. **Mybatis入门**:讲解Mybatis的基本使用,包括XML配置、Mapper接口、动态SQL等功能,以及如何进行数据访问。 3. **Spring与Mybatis的整合**:详解如何将Spring的IoC容器与Mybatis结合,使用Spring管理Mybatis的...

    springboot+mybatis封装第二版

    在"第二版"的封装中,这可能体现在对配置文件的优化,使得SpringBoot和MyBatis的配置更加简洁,同时不影响应用的核心业务逻辑。例如,通过自动配置(AutoConfiguration)特性,SpringBoot可以自动识别并配置MyBatis...

    Spring MyBatis企业应用实战pdf书籍

    《Spring MyBatis企业应用实战》是一本由疯狂软件编著的IT技术书籍,于2017年出版。这本书主要面向的是希望深入理解和实践Spring与MyBatis整合开发的IT从业者,尤其对于那些在企业级应用开发中使用这两项技术的...

    Mybatis的基本应用

    对于新手而言,掌握 Mybatis 的基本应用是 JavaEE 开发中不可或缺的一部分。本实验旨在帮助初学者理解 Mybatis 的核心概念,并通过实际操作来加深对这一框架的理解。 首先,我们要了解 Mybatis 的基本架构。Mybatis...

    Spring+MyBatis 企业应用实战之人事管理系统源码

    6. **DAO(Data Access Object)层**:DAO接口和其实现类负责与数据库交互,通常包含增删改查等基本操作。MyBatis的动态SQL使得DAO层的代码更加简洁。 7. **Service层**:服务层是业务逻辑的核心,它封装了多个DAO...

    mybatis基本例子的简单实现

    在本示例中,我们探讨的是如何实现MyBatis的基本功能。这个压缩包提供了源代码和一个名为“mybatis映射笔记.odt”的文档,其中详细记录了在实现过程中关于映射遇到的问题和解决方案。 首先,我们要理解MyBatis的...

    spring boot+ mybatis 基本框架demo

    在IT行业中,Spring Boot和Mybatis是两个非常重要的框架,它们在构建现代Java应用程序中扮演着核心角色。Spring Boot简化了Spring应用的初始搭建以及开发过程,而Mybatis则是一个优秀的持久层框架,使得数据库操作变...

    Spring+MyBatis企业应用实战

    通过学习《Spring+MyBatis企业应用实战》,读者不仅可以掌握这两个框架的基本使用,还能了解到如何在实际项目中有效集成和优化它们,从而提升软件开发的效率和质量。在HRM系统的实现过程中,读者还能学习到如何设计...

    初识MyBatis及基本应用彩色PPT版本.pptx

    4. **基本的增删改查操作**:MyBatis提供了简单的API来支持常见的CRUD操作,如`insert()`, `update()`, `delete()`, `select()`,并能通过参数对象动态设置SQL条件。 5. **动态SQL**:动态SQL是MyBatis的一大亮点,...

    企业级应用开发-MyBatis关联映射实践实验报告.docx

    在企业级应用开发中,MyBatis 是一个广泛使用的持久层框架,它允许开发者将 SQL 查询与 Java 代码直接结合,提供了比传统 JDBC 更高效、更便捷的数据访问方式。本实验报告将详细阐述如何在 MyBatis 中进行关联映射的...

    springmvc+mybatis企业应用实战

    《SpringMVC+MyBatis企业应用实战》是针对初学者和...通过《SpringMVC+MyBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本使用,还能了解到企业级应用开发中的最佳实践,为个人的职业发展打下坚实的基础。

    Spring MVC+MYBatis企业应用实战

    通过《Spring MVC+MYBatis企业应用实战》的学习,读者不仅可以掌握这两个框架的基本用法,还能了解到如何在实际项目中有效地整合它们,解决常见的问题,从而提升开发效率和代码质量。书中可能会涵盖各种实战案例,如...

Global site tag (gtag.js) - Google Analytics