发表于: 2019-11-20 22:18:41
1 1114
今天完成的事情
完成spring与mybaits的整合curd
项目目录
POM.XML
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
<groupId>MyBaitsDemo</groupId>
<artifactId>MyBaitsDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<!--spring集成Junit测试-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.3.RELEASE</version>
<scope>test</scope>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
USERDAO接口
USERDAO的Mapper文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- mapper:根标签,namespace:命名空间,随便写,一般保证命名空间唯一 -->
<mapper namespace="com.demo.mapper.UserDao">
<!--使用别名-->
<select id="queryUserById" resultType="com.demo.pojo.User">
select
user.id as id,
user.username as userName,
user.password as password,
user.name as name,
user.age as age,
user.birthday as birthday,
user.sex as sex,
user.created as created,
user.updated as updated
from
user
where user.id = #{id};
</select>
<select id="queryUserAll" resultType="com.demo.pojo.User">
select * from user;
</select>
<!--插入数据-->
<insert id="insertUser" parameterType="com.demo.pojo.User">
INSERT INTO user (
username,
password,
name,
age,
sex,
birthday,
created,
updated
)
VALUES
(
#{userName},
#{password},
#{name},
#{age},
#{sex},
#{birthday},
now(),
now()
);
</insert>
<update id="updateUser" parameterType="com.demo.pojo.User">
UPDATE user
<trim prefix="set" suffixOverrides=",">
<if test="userName!=null">username = #{userName},</if>
<if test="password!=null">password = #{password},</if>
<if test="name!=null">name = #{name},</if>
<if test="age!=null">age = #{age},</if>
<if test="sex!=null">sex = #{sex},</if>
<if test="birthday!=null">birthday = #{birthday},</if>
updated = now(),
</trim>
WHERE
(id = #{id});
</update>
<delete id="deleteUser">
delete from user where id=#{id}
</delete>
</mapper>
实体类
spring的配置文件
<?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:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsdp ">
<context:annotation-config/>
<!-- 数据库连接池 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</bean>
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="typeAliasesPackage" value="com.demo.pojo"/>
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:com/demo/mapper/UserMapper.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.demo.mapper"/>
</bean>
</beans>
测试类(spring整合junit)
import com.demo.mapper.UserDao;
import com.demo.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.sql.Date;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)//junit整合spring的测试
@ContextConfiguration("classpath:spring.xml")//加载核心配置文件,自动构建spring容器
public class UserDaoImplTest {
@Autowired
public UserDao userDao;
@Test
public void queryUserById() throws Exception {
System.out.println(this.userDao.queryUserById("1"));
}
@Test
public void queryUserAll() throws Exception {
List<User> userList = this.userDao.queryUserAll();
for (User user : userList) {
System.out.println(user);
}
}
@Test
public void insertUser() throws Exception {
User user = new User();
user.setAge(16);
user.setBirthday(new Date(2002-02-02));
user.setName("大鹏");
user.setPassword("123456");
user.setSex("男");
user.setUserName("evan");
this.userDao.insertUser(user);
}
@Test
public void updateUser() throws Exception{
User user = new User();
user.setBirthday(new Date(2002-02-02));
user.setName("静鹏");
user.setPassword("654321");
user.setSex("男");
user.setUserName("evanjin");
user.setId("1");
this.userDao.updateUser(user);
}
@Test
public void deleteUser() throws Exception{
this.userDao.deleteUser("4");
}
}
运行结果
今天遇到的问题
依赖包冲突,报错
java.lang.AbstractMethodError:org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L java/lang/Integer
当spring相关依赖包版本比较高的时候,整合包版本必须不小于1.3.0(或者下降spring包的相关版本)
在师兄的推荐下安装了idea的maven helper插件
明天要做的事情
1.将数据库部署到服务器(之前已买阿里云服务器),远程直连
2.部署服务到服务器上,包括Maven,Mysql客户端等。直接用Maven命令跑单元测试。
3.练习日志的查看以及练习debug(调试)
(自我提醒:
记得做笔记!!!!记得做笔记!!!!记得做笔记!!!!
记得做笔记!!!!记得做笔记!!!!记得做笔记!!!!
记得做笔记!!!!记得做笔记!!!!记得做笔记!!!!
记得做笔记!!!!记得做笔记!!!!记得做笔记!!!!)
评论