`

mybatis入门案例

 
阅读更多

sqlMapConfiger.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>
	<!-- 别名 -->
	<typeAliases>
		<typeAlias type="com.chen.pojo3.Husband" alias="_Husband"></typeAlias>
		<typeAlias type="com.chen.pojo3.Wife" alias="_Wife"></typeAlias>
		<typeAlias type="com.chen.pojo4.Department" alias="_Department"></typeAlias>
		<typeAlias type="com.chen.pojo4.Employee" alias="_Employee"></typeAlias>
	</typeAliases>

	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"></transactionManager>
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/test"/>
				<property name="username" value="root"/>
				<property name="password" value="root"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<!-- <mapper resource="com/chen/pojo/userMapper.xml" /> -->
		<mapper resource="com/chen/pojo3/O2OMapper.xml"/>
		<mapper resource="com/chen/pojo4/O2MMapper.xml"/>
		
		<mapper class="com.chen.pojo2.UserMapper"/>
	</mappers>
</configuration>


案例一:简单增删改查
UserMapper.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="com.chen.pojo.UserMapper">
	<select id="getUserById" parameterType="Long" resultType="com.chen.pojo.User">
		select * from t_user where id=#{id}
	</select>
	
	<select id="getAllUser" resultType="com.chen.pojo.User">
		select * from t_user
	</select>
	
	<insert id="insertUser" parameterType="com.chen.pojo.User" useGeneratedKeys="true" keyProperty="id">
		insert into t_user(username,birthday) values(#{username},#{birthday})
	</insert>
	
	<delete id="deleteUserById" parameterType="Long">
		delete from t_user where  id=#{id}
	</delete>
	
	<update id="updateUser" parameterType="com.chen.pojo.User">
		update t_user set username=#{username},birthday=#{birthday} where id=#{id}
	</update>
	
	
</mapper>


UserDao.java
package com.chen.dao;
import java.io.IOException;
import java.io.Reader;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.chen.pojo.User;


public class UserDao {
	public static SqlSessionFactory sessionFactory = null ;
	static{
		try {
			Reader reader =Resources.getResourceAsReader("SqlMapConfiger.xml");
			sessionFactory =new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public User getUserById(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql ="com.chen.pojo.UserMapper.getUserById";
		User u =(User) session.selectOne(sql, id);
		
		session.close();
		return u;
	}
	
	public List<User> getAllUser(){
		SqlSession session = sessionFactory.openSession();
		String sql="com.chen.pojo.UserMapper.getAllUser";
		List<User> list =session.selectList(sql);
		session.close();
		return list;
	}
	
	public Long insert(User u){
		SqlSession session = sessionFactory.openSession();
		String sql = "com.chen.pojo.UserMapper.insertUser";
		int w = session.insert(sql, u);
		session.commit();
		session.close();
		return u.getId();
	}
	
	public void update(User u){
		SqlSession session = sessionFactory.openSession();
		String sql= "com.chen.pojo.UserMapper.updateUser";
		session.update(sql, u);
		session.commit();
		session.close();
	}
	
	public void delete(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql = "com.chen.pojo.UserMapper.deleteUserById";
		session.delete(sql, id);
		session.commit();
		session.close();
	}
}


案例二:注解方式增删改查
UserMapper.java
package com.chen.pojo2;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

public interface UserMapper {
	@Select("select * from t_user where id=#{id}")
	public User getUserById(Long id);
	
	@Select("select * from t_user")
	public List<User> getAllUser();
	
	@Insert("insert into t_user(username,birthday) values(#{username},#{birthday})")
	public void insertUser(User u);
	
	@Delete("delete from t_user where  id=#{id}")
	public void deleteUsser(Long id);
	
	@Update("update t_user set username=#{username},birthday=#{birthday} where id=#{id}")
	public void updateUser(User u);

}

UserDao.java
package com.chen.dao;
import java.io.IOException;
import java.io.Reader;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.chen.pojo2.User;
import com.chen.pojo2.UserMapper;


public class UserDao2 {
	public static SqlSessionFactory sessionFactory = null ;
	static{
		try {
			Reader reader =Resources.getResourceAsReader("SqlMapConfiger.xml");
			sessionFactory =new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public User getUserById(Long id){
		SqlSession session = sessionFactory.openSession();
		UserMapper userMapper = session.getMapper(UserMapper.class);
		User u =userMapper.getUserById(id);
		session.close();
		return u;
	}
	
	public List<User> getAllUser(){
		SqlSession session = sessionFactory.openSession();
		UserMapper userMapper = session.getMapper(UserMapper.class);
		List<User> list =userMapper.getAllUser();
		session.close();
		return list;
	}
	
	public Long insert(User u){
		SqlSession session = sessionFactory.openSession();
		UserMapper userMapper = session.getMapper(UserMapper.class);
		userMapper.insertUser(u);
		session.commit();
		session.close();
		return u.getId();
	}
	
	public void update(User u){
		SqlSession session = sessionFactory.openSession();
		UserMapper userMapper = session.getMapper(UserMapper.class);
		userMapper.updateUser(u);
		session.commit();
		session.close();
	}
	
	public void delete(Long id){
		SqlSession session = sessionFactory.openSession();
		UserMapper userMapper = session.getMapper(UserMapper.class);
		userMapper.deleteUsser(id);
		session.commit();
		session.close();
	}
}



案例三:一对一关联查询
O2OMapper.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="com.chen.pojo3.O2OMapper">
	<select id="getWifeById" parameterType="Long" resultMap="WifeResultMap">
		select w.*,t.id t_id,t.name t_name from t_wife w,t_husband t where w.h_id=t.id and w.id=#{id}
	</select>
	<resultMap type="_Wife" id="WifeResultMap">
		<id property="wid" column="id"/>
		<result property="wname" column="name"/>
		<association property="husband" column="h_id" javaType="_Husband">
			<id property="hid" column="t_id"/>
			<result property="hname" column="t_name"/>
		</association>
	</resultMap>
	
	<select id="getWife" parameterType="Long" resultMap="WifeResultMap2">
		select * from t_wife where id=#{id}
	</select>
	<resultMap type="_Wife" id="WifeResultMap2">
		<id property="wid" column="id"/>
		<result property="wname" column="name"/>
		<association property="husband" column="h_id" javaType="_Husband" select="getHusbandById"></association>
	</resultMap>
	
	<select id="getHusbandById" parameterType="Long" resultType="_Husband">
		select id hid,name hname from t_husband where id=#{id}
	</select>
	
</mapper>

O2ODao.java
package com.chen.dao;

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;

import com.chen.pojo3.Wife;

public class O2ODao {
	public static SqlSessionFactory sessionFactory = null ;
	static{
		try {
			Reader reader =Resources.getResourceAsReader("SqlMapConfiger.xml");
			sessionFactory =new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public Wife getWifeById(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql = "com.chen.pojo3.O2OMapper.getWifeById";
		Wife wife =session.selectOne(sql, id);
		session.close();
		return wife;
	}
	
	public Wife getWifeById2(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql = "com.chen.pojo3.O2OMapper.getWife";
		Wife wife =session.selectOne(sql, id);
		session.close();
		return wife;
	}
}




案例:一对多关联查询
O2MMapper.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="com.chen.pojo4.O2MMapper">
	<select id="getDepartmentById" parameterType="Long" resultMap="DeResultMap">
		select d.*,e.id e_id,e.name e_name,e.department_id from t_temp_department d,t_employee e where d.id=e.department_id and d.id=#{id}
	</select>
	<resultMap type="_Department" id="DeResultMap">
		<id property="id" column="id"/>
		<result property="departmentName" column="department_name" />
		<collection property="employees" ofType="_Employee">
			<id property="id" column="e_id"/>
			<result property="name" column="e_name"/>
		</collection>
	</resultMap>	
	
	<select id="getDepartment" parameterType="Long" resultMap="DeResultMap2">
		select * from t_temp_department where id=#{id}
	</select>
	<resultMap type="_Department" id="DeResultMap2">
		<id property="id" column="id"/>
		<result property="name" column="name"/>
		<collection property="employees" column="id" ofType="_Employee" select="getEmployeeByDId"></collection>
	</resultMap>
	<select id="getEmployeeByDId" parameterType="Long" resultType="_Employee">
		select * from t_employee where department_id=#{id}
	</select>
	
</mapper>


O2MDao.java
package com.chen.dao;

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;

import com.chen.pojo4.Department;

public class O2MDao {
	public static SqlSessionFactory sessionFactory = null ;
	static{
		try {
			Reader reader =Resources.getResourceAsReader("SqlMapConfiger.xml");
			sessionFactory =new SqlSessionFactoryBuilder().build(reader);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public Department getDepartmentById(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql="com.chen.pojo4.O2MMapper.getDepartmentById";
		Department deparment = session.selectOne(sql, id);
		return deparment;
	}
	
	public Department getDepartment(Long id){
		SqlSession session = sessionFactory.openSession();
		String sql="com.chen.pojo4.O2MMapper.getDepartment";
		Department deparment = session.selectOne(sql, id);
		return deparment;
	}
}

分享到:
评论

相关推荐

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

    Mybatis入门案例IDEA最新版本

    ### Mybatis框架入门知识点详解 #### 一、框架与Mybatis概述 1. **框架定义**: - **广义定义**:框架是一种系统性的、可重用的设计方案,表现为一组抽象组件及其交互方法。 - **狭义定义**:框架是可由应用...

    Mybatis入门案例完整源码

    这个“Mybatis 入门案例完整源码”提供了一个学习 Mybatis 基础用法的起点。下面我们将详细探讨 Mybatis 的核心概念以及如何通过源码来理解它的运作机制。 1. **Mybatis 概述**: Mybatis 是由 Apache Software ...

    一,MyBatis入门案例

    总结起来,MyBatis入门案例主要涉及以下几个知识点: 1. MyBatis的基本概念:XML配置文件、Mapper接口和Mapper XML文件。 2. MyBatis与Web项目的集成,包括配置lib目录、web.xml中的Servlet和过滤器。 3. Mapper接口...

    MyBatis经典入门案例(初学者必备)

    本篇将围绕"MyBatis经典入门案例"展开,讲解如何从零开始搭建一个简单的MyBatis应用。 首先,我们需要了解MyBatis的基本构成。MyBatis主要由四个部分组成:SqlSessionFactoryBuilder、SqlSessionFactory、...

    mybatis入门基础案例demo

    本入门基础案例 "mybatis入门基础案例demo" 是为了帮助初学者理解并掌握 MyBatis 的基本使用方法。在这个案例中,我们将涉及以下几个关键知识点: 1. **MyBatis 环境搭建**: - 首先需要在项目中引入 MyBatis 的 ...

    Mybatis入门JavaSE案例

    在这个"Mybatis入门JavaSE案例"中,我们将深入理解Mybatis的基本配置、DAO层的注解方式以及XML配置方式。 首先,让我们来了解Mybatis的配置过程。Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含...

    mybatis01_入门案例

    以上内容概括了MyBatis入门案例的基本步骤,包括理解框架概念、三层架构、MyBatis的用途,以及如何在实际项目中设置和使用MyBatis。通过这个案例,开发者可以开始学习如何在自己的项目中利用MyBatis进行数据库操作。

    高级软件人才培训专家-day08-Mybatis入门

    ### 高级软件人才培训专家-day08-Mybatis入门 #### 一、MyBatis简介及背景 MyBatis 是一款优秀的持久层框架,它主要用于简化 Java 中 JDBC 的开发。MyBatis 最初是 Apache 的一个开源项目 iBatis,在 2010 年该...

    Mybatis入门javaEE案例

    在这个"Mybatis入门javaEE案例"中,我们将探讨如何配置Mybatis以及如何利用其两种主要的映射方式:注解和XML。 首先,Mybatis的配置主要包括两部分:Mybatis的核心配置文件(mybatis-config.xml)和数据源配置。...

    Mybatis---从最基础案例带你深入了解“她”

    ### MyBatis 入门与深入理解 #### 一、MyBatis简介 MyBatis,原名为iBatis,是Apache的一个开源项目。它的名字虽然发生了变化,但其核心功能却得到了进一步增强和发展。MyBatis是一个持久层框架,主要用于处理与...

    Mybatis入门小案例

    这个“Mybatis入门小案例”旨在帮助初学者了解并实践如何使用Mybatis进行数据库操作,包括连接数据库、执行增删改查(CRUD)等基本功能。我们将围绕以下几个方面展开讨论: 1. **Mybatis框架简介** Mybatis是一个...

    Mybatis入门项目实例

    这个入门项目实例将带你深入了解Mybatis的核心概念和基本用法。首先,我们来分析一下提供的文件内容。 1. **用户指南(图片文件)** - `111115114.jpg`、`1.png`、`2.png`、`3.png`:这些很可能是项目教程或步骤的...

    MyBatis学习入门案例

    在本"MyBatis学习入门案例"中,我们将探讨如何使用这个框架来简化数据库操作,提升开发效率。 首先,MyBatis的核心是SQL映射文件,它允许开发者将SQL语句与Java代码分离,使得SQL的编写和维护更加灵活。在`...

    mybatis入门经典例子

    本案例提供了一个简单的MyBatis入门示例,旨在帮助初学者快速掌握MyBatis的基本使用方法,为后续深入学习奠定基础。 #### 二、案例结构概述 该案例主要包括以下几个部分: 1. **框架搭建与依赖引入**:通过添加...

    Mybatis.zip

    在这个"Mybatis.zip"压缩包中,包含的是Mybatis入门案例的代码和相关的SQL文件,旨在帮助初学者快速理解并掌握Mybatis的基本用法。 一、Mybatis简介 Mybatis 是一个轻量级的ORM(对象关系映射)框架,由Google Code...

    Mybatis入门三天源码

    在三天的Mybatis入门学习过程中,主要涉及以下几个关键知识点: 1. **配置文件**:Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含了数据库连接信息、映射文件位置、设置等重要信息。你需要理解...

Global site tag (gtag.js) - Google Analytics