`
yejun0099
  • 浏览: 26443 次
  • 性别: 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 下的 类的配置文件:

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

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

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

    MyBatis基本使用总结

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

    Mybatis基本应用实现增删改查

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

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

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

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

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

    Spring+MyBatis企业应用实战 源码

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

    Mybatis数据库的基本应用

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

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

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

    Spring MyBatis企业应用实战pdf书籍

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

    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则是一个优秀的持久层框架,使得数据库操作变...

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

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

    Spring+MyBatis企业应用实战

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

    Spring MVC+MYBatis企业应用实战

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

    springmvc+mybatis企业应用实战

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

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

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

    mybatis基本配置及例子.zip_mybatis_mybatis sql server_mybatis 实例_mybati

    MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数...对于SQL Server数据库的使用者,结合MyBatis的优势,可以更好地管理和维护数据库应用程序。

Global site tag (gtag.js) - Google Analytics