发表于: 2020-11-05 23:07:51
1 1514
https://blog.csdn.net/Dream_Weave/article/details/84542346
一,今天完成的事情:
任务1 的 17 项
17. 编写DAO,分别JdbcTemplate和Mybatis连接数据库,注意使用JDBCTemplate的时候分离Interface和Imple,使用Mybatis的时候注意理解为什么不需要Impl,注意遵守命名规范。
今天的代码如下:
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
//测试相关
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
//日志相关
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
mybatis-config.xml
<configuration>
<properties resource="mysql.properties"></properties>
<typeAliases>
<!-- 别名方式1,一个一个的配置 type中放置的是类的全路径,alias中放置的是类别名
<typeAliase type="com.mybatis.demo.Entity.User" alias="UserBean"/> -->
<!-- 别名方式2,自动扫描,将JAVA类的类名作为类的类别名 -->
<!--<package name="com.mybatis.demo.Entity"/>-->
<typeAlias alias="User" type="com.mybatis.demo.Entity.User"/>
</typeAliases>
<!-- 配置mybatis运行环境 -->
<environments default="development">
<environment id="development">
<!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
<transactionManager type="JDBC"/>
<!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
<!-- POOLED 表示支持JDBC数据源连接池 -->
<!-- UNPOOLED 表示不支持数据源连接池 -->
<!-- JNDI 表示支持外部数据源连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.databaseurl}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 映射文件方式1,一个一个的配置-->
<mapper resource="mapper/UserMapper.xml"/>
<!-- 映射文件方式2,自动扫描包内的Mapper接口与配置文件 -->
<!--<package name="com.mybatis.demo"/>-->
</mappers>
</configuration>
数据库
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/xz_task1
dbuser=root
dbpassword=
Student 实体类
package com.nicole.mybatis;
import java.io.Serializable;
public class Student implements Serializable {
private static final long serialVersionUID = 8104961490512068314L;
private int id;
private String name;
private String dept;
private String phone;
private String website;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getWebsite() {
return website;
}
public void setWebsite(String website) {
this.website = website;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", dept='" + dept + '\'' +
", phone='" + phone + '\'' +
", website='" + website + '\'' +
'}';
}
}
二,今天问题:
今天是特别完成“使用Mybatis,不需要Impl”的代码使用。
已经注意要求“除了CRUD的基本单元测试,加上根据学员名字,学号去查找报名贴的单元测试”。整合期间再改进。
三,今天的收获:
已经稳定使用IntelliJ IDEA。需求做的还算顺利。
mybatis注解方式通过没有实现类的dao接口进行数据库操作,具体要看源码。
spring+mybatis注解方式在没有实现类的dao接口的情况下结合
四,明天的计划:
继续完成task 1,mapper类
junit准备用于做各种测试。
最终的代码,决定数据库的操作是用spring和mybatis配合的。如果用了mybatis再用JDBCTemplate会奇怪。
评论