美文网首页
连接数据库

连接数据库

作者: itachi | 来源:发表于2018-11-11 22:00 被阅读5次
    dao层的写法

    1,创建interface注解,该注解可用在类或者方法上。

    public @interface MyBatisDao {
    }
    

    2,编写daointerface

    public interface AdminDao {
        public Admin findByCode(String adminCode);
    }
    

    3,写实现例

    package org.ks.dao;
    
    import org.ks.entity.Admin;
    import org.mybatis.spring.SqlSessionTemplate;
    import org.springframework.stereotype.Repository;
    
    import javax.annotation.Resource;
    
    
    /*SqlSessionTemplate,用法和sqlsessionn一致
    有mybatis-spring.jar提供*/
    
    @Repository("dao1")
    public class MyBatisAdminDao implements AdminDao {
    
        @Resource
        private SqlSessionTemplate template;
    
        public SqlSessionTemplate getTemplate() {
            return template;
        }
    
        public void setTemplate(SqlSessionTemplate template) {
            this.template = template;
        }
    
        @Override
        public Admin findByCode(String adminCode) {
            Admin admin=template.selectOne("findByCode",adminCode);
            return admin;
        }
    }
    

    sqlsessiontemplate简介
    http://www.mybatis.org/spring/zh/sqlsession.html

    4,编写mapple

    <mapper namespace="org.ks.dao.AdminDao">
        <select id="findByCode" resultType="org.ks.entity.Admin" parameterType="string">
            SELECT * FROM admin WHERE admin_code=#{code}
        </select>
    </mapper>
    

    id需要与方法名相同
    resulttype表示查询到返回的类型,需要全路径。
    parametertype表示动态参数的类型。

    5,编写实体类

    6,配置文件

    //读取配置文件
    <util:properties id="jdbc" location="classpath:db.properties"></util:properties>
    //将配置文件的数据设置到datasource里
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
            <property name="driverClassName" value="#{jdbc.driverName}"></property>
            <property name="url" value="#{jdbc.url}"></property>
            <property name="username" value="#{jdbc.userName}"></property>
            <property name="password" value="#{jdbc.password}"></property>
        </bean>
    
        <!--定义 SQLSessionFactoryBean 将Mybatis中的主配置文件中的重要参数引入spring配置文件中-->
        <bean id="ssf" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!--注入数据源(链接 信息)-->
            <property name="dataSource" ref="dataSource"/>
            <!--注入sql映射定义文件,若是多个mapper文件可以用*代替-->
            <property name="mapperLocations" value="classpath:org/ks/sql/*.xml"/>
        </bean>
    
        <!--按指定包扫描接口,批量生成接口的实例,采用接口名首字母小写作为接口实例的ID-->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <property name="basePackage" value="org.ks.dao"></property>
            <!--此属性可以不用指定,spring会自动注入-->
    //接口注释
            <!--org.ks.dao包下有可能有些接口是通过Mapper实现的,也有可能是自己实现的
            且不符合Mapper规范,那么就不能把org.ks.dao下的所有接口都自动实例化
            当出现不需要实例化的接口时,可以通过增加注解来指定哪些接口需要自动
            生成实例-->
            <property name="annotationClass" value="org.ks.util.MyBatisDao"></property>
            <property name="sqlSessionFactory" ref="ssf"></property>
        </bean>
    
    
        <context:component-scan base-package="org.ks"/>
        <!--配置HandleMapping-->
        <mvc:annotation-driven/>
    
    //
        <bean id="viewResolver"
              class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/"/>
            <property name="suffix" value=".jsp"/>
        </bean>
    
        <!--配置sqlsessionTemplate-->
        <bean id="sqSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
            <constructor-arg index="0" ref="ssf"/>
        </bean>
    

    相关文章

      网友评论

          本文标题:连接数据库

          本文链接:https://www.haomeiwen.com/subject/kvyffqtx.html