标签:man nbsp rac class ack mon temp 创建 简写
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;
}
标签:man nbsp rac class ack mon temp 创建 简写
原文地址:https://www.cnblogs.com/chencn/p/12341169.html