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;
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值