Spring整合Mybatis

Spring整合mybatis

1.配置数据源

<!-- 配置数据源 -->
    <bean id="dataSource"   class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName"   value="com.mysql.jdbc.Driver" />
        <property name="url"
            value="jdbc:mysql:///test?useUnicode=true&amp;characterEncoding=UTF-8" />
        <property name="username" value="root" />
        <property name="password" value="" />
    </bean>

2.配置sqlSessionFactory

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource">
            <ref bean="dataSource" />
        </property>
        <!-- mybatis映射文件的位置-->
        <property name="mapperLocations">
            <list>
                <value>
                    classpath:org/wesley/sms/entity/*.xml
                </value>
            </list>
        </property>
    </bean>

3.映射文件

<?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="studentNamespace">

    <resultMap id="studentMap" type="student">
        <id property="id" column="id" javaType="int" />
        <result property="name" column="name"   javaType="java.lang.String" />
        <result property="password" column="password" javaType="java.lang.String" />
        <result property="age" column="age" javaType="int" />
        <result property="gender" column="gender" javaType="java.lang.Boolean" />
        <result property="studyNumber" column="study_number" javaType="java.lang.String" />
        <result property="clazz" column="clazz" javaType="java.lang.String" />
    </resultMap>

    <insert id="insert" parameterType="student">
        insert into t_student
        (name,password,age,gender,study_number,clazz)
        values
        (#{name},#{password},#{age},#{gender},#{studyNumber},#{clazz})
    </insert>

    <delete id="delete" parameterType="student">
        delete from t_student where
        id=#{id}
    </delete>

    <update id="update" parameterType="student">
        update t_student
        set
        name=#{name},password=#{password},age=#{age},gender=#{gender},study_number=#{studyNumber},clazz=#{clazz}
        where id=#{id}
    </update>

    <select id="get" parameterType="int" resultMap="studentMap">
        select
        id,name,password,age,gender,study_number,clazz
        from t_student
        where
        id=#{id}
    </select>

    <select id="findByNameAndPassword" parameterType="map"
        resultMap="studentMap">
        select id,name,password,age,gender,study_number,clazz
        from
        t_student
        where name=#{name} and password=#{password}
    </select>

    <select id="findAll" resultMap="studentMap">
        select
        id,name,password,age,gender,study_number,clazz
        from t_student
    </select>

</mapper>

4.Dao层实现类

package org.wesley.sms.dao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import org.wesley.sms.entity.Student;

@Repository("studentDao")
public class StudentDao implements IStudentDao {

    @Autowired
    @Qualifier("sqlSessionFactory")
    private SqlSessionFactory sqlSessionFactory;

    private SqlSession getSqlSession() {
    if (sqlSessionFactory != null) {
        return sqlSessionFactory.openSession();
    } else {
        return null;
    }
    }

    @Override
    public void insert(Student student) throws Exception {
    getSqlSession().insert("studentNamespace.insert", student);
    }

    @Override
    public void delete(Student student) throws Exception {
    getSqlSession().delete("studentNamespace.delete", student);
    }

    @Override
    public void update(Student student) throws Exception {
    getSqlSession().update("studentNamespace.update", student);
    }

    @Override
    public Student get(int id) throws Exception {
    return getSqlSession().selectOne("studentNamespace.get", id);
    }

    @Override
    public Student findByNameAndPassword(String name, String password) throws Exception {
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("name", name);
    params.put("password", password);
    return getSqlSession().selectOne("studentNamespace.findByNameAndPassword", params);
    }

    @Override
    public List<Student> findAll() throws Exception {
    return    getSqlSession().selectList("studentNamespace.findAll");
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值