• Spring ---Mabatis


    1。Mybatis 的环境搭建流程:  1.导入包jar  2.创建实体类   3.创建配置文件  4.写接口,接口映射器  5.测试

     1.导入包:1.Junit.jar  2 mysql-connector-java.jar   3.mybatis.jar  4.spring-jdbc.jar  5.spring-webmvc.jar  6.aspectjweaver.jar 7.mybatis-srping.jar

     2.编写配置文件:    

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
            https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--   增加支持注解配置-->
        <context:annotation-config/>
    <!--    增加支持包自动扫描-->
        <context:component-scan base-package="com.sun.dao"/>
    <!--    创建数据源的连接参数-->
    <!--    C3P3 DBCP DRuid-->
        <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">  //DriverManagerDataSource类 C3P0    DBCP  BasicDataSource类  (包支持jar spring-jdbc commons-dbcp commons-pool)   
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url"  value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useSSL=false"/>   //出错原因:第一个次:jdbc:mysql: 写反了
            <property name="username" value="root"/>                                                                                   第二次:数据库问号后面加/。 mybatis?useUnicode=true
            <property name="password" value="12345"/>
        </bean>
    <!--    创建mybatis的工厂方法-->
        <bean id="sqlsessionfactorybean" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!--        导入数据源-->
            <property name="dataSource" ref="datasource"/>    //引用类型用 ref   不能写成值类型
    <!--        导入配置文件中的映射器路径-->
            <property name="mapperLocations" value="classpath:mapper/*.xml"/>  路径格式:注意是路径 /反斜杠   *代表通配符  **代表目录结构 可以放在resource 和java目录的任何目录下,没有接口类和映射名的要求了。 
            <property name="typeAliasesPackage" value="com.sun.pojo"/>     别名: value包下的所有类的类名 自动成为简写名称 com.sun.pojo.User == User
    <!--        导入mybatis的配置文件....<property name="configLocation"-->        
        </bean>
    <!--    创建SqlsessiondTemplate-->
        <bean id="sqlsession" class="org.mybatis.spring.SqlSessionTemplate">//SqlSessionTemplate类没有set方法,只能构造方法注入。构造方法注入有3种:第一种: index=0 标注  第二种:type=“java.lang.String” value="123" 第三种:name=   valur|ref=
    <!--        只有构造器注入-->
             <constructor-arg index="0" ref="sqlsessionfactorybean"/>
        </bean>
    <!--    注册数据库查找类的Bean-->
        <bean id="userdaoimpl" class="com.sun.dao.UserDaoImpl">      // 注册mybatia接口实现类 属性注入 Sqlsession 不知道还需不需要手动关闭连接? 不需要了,刚试了
            <property name="sessionTemplate" ref="sqlsession"/>     //  set注入sqlsession  this.sqlsession=sqlsession
        </bean>
    </beans>
        
    

      SelectList 和getMapper对比:

     public List<User> getUserList() {
            List<User> userList = sessionTemplate.selectList("com.sun.dao.UserDao.getUserList");
            return userList;
        }
    

      

    public List<User> getUserList() {
    //        List<User> userList = sessionTemplate.selectList("com.sun.dao.UserDao.getUserList");// RowBounds 还有JavaAssist 好难。
            UserDao mapper = sessionTemplate.getMapper(UserDao.class);   //代理对象
            List<User> userList = mapper.getUserList();
            return userList;
        }
    

      

  • 相关阅读:
    hdu 4403 枚举
    hdu 4405概率dp
    lightoj 1036 dp
    lightoj 1033 区间dp
    lightoj 1032 二进制的dp
    hdu 4293 dp求最大权值不重合区间
    poj 2449 第k短路
    hdu 4284 状态压缩
    hdu4281 区间dp
    poj 2288 tsp经典问题
  • 原文地址:https://www.cnblogs.com/chencn/p/12341169.html
Copyright © 2020-2023  润新知