发表于: 2019-11-07 23:15:57
1 909
今天完成的事情:重装MYSQL 温习CMD命令
主要是spring和mybatis整合敲了两个案列
遇到的BUG1 解决办法
!--因为idea不会编译src目录下面的xml文件,所以要在pom文件内添加-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
POM配置文件里的新写法
<properties>
<junit.version>4.12</junit.version>
<spring.version>4.3.21.RELEASE</spring.version>
建的表
CREATE TABLE student (
id int(11) PRIMARY KEY AUTO_INCREMENT,
name varchar(10),
sex varchar(2),
addr varchar(10),
) ;
INSERT INTO `student` VALUES (1, '老王', '女', '北京');
INSERT INTO `student` VALUES (2, '小李', '男', '上海');
INSERT INTO `student` VALUES (3, '小刘', '女', '深圳');
INSERT INTO `student` VALUES (4, '小张', '男', '南京');
INSERT INTO `student` VALUES (5, '老王', '女', '哈尔滨');
INSERT INTO `student` VALUES (6, '老赵', '男', '沈阳');
INSERT INTO `student` VALUES (7, '老李', '女', '大连');
1.创建一个maven java项目,根据需求填写pom.xml配置文件,以及jdbc.properties和log4j.properties
2.建表如上,实体类
3分层设计controller以及service、dao内接口(学习了注解)
StudentSeverlet.java
//控制器
@Controller
public class StudentSeverlet {
@Autowired
private StudentService studentService;
public int deleteByPrimaryKey(Integer id) {
return studentService.deleteByPrimaryKey(id);
}
public int insert(Student record) {
return studentService.insert(record);
}
4.根据需求创建StudentDao.xml
<sql id="Base_Column_List" >
id, name, sex, addr
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from student
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from student
where id = #{id,jdbcType=INTEGER}
</delete>
5.创建service层实现类
6.填写spring和mybatis的配置文件
7.写测试方法结果:
(结果错误。。。还是没搞懂这种MVC的)
明天计划的事情:后天计划重写一个简单的整合案列在云服务器上完成增删改查
遇到的问题:配置文件的BUG
收获:整合MYBATIS
1、原始整合
不管那种方式都依赖于SessionFactory。SqlSessionFactory需要依赖于读取mybatis核心配置文件中的信息。
分成三层:
1、 别名等属性设置
2、 数据库的连接信息
3、 读取映射文件
其中的第二层可以使用连接池来取代。实际上,需要依赖两个,一个是dataSource还有是核心配置文件。
2、mapper整合
(1).Spring配置bean —》MapperFactoryBean类
依赖于两个 SQLSessionFactory和接口的位置
直接进入测试
(2).配置一个扫描类,自动扫描某个位置下所有的mapper,并自动起名为所写类名对应的小写。
评论