多线程共享时 对象要实现序列化Serializable
二级缓存
cacheEabled 这是官方文档里面关于二级缓存默认是开启的,而在我们使用的时候还是需要手动配置开启的
MyBatis逆向工程插件
1.导入jar包 可以在本级项目的pom文件中添加
UTF-8
17
17
17
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.0
true
org.mybatis.generator
mybatis-generator-core
1.3.2
com.mchange
c3p0
0.9.2
mysql
mysql-connector-java
8.0.16
2.创建generatorConfig.xml配置文件
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
这行会报红,不用管
3.依次添加 jdbc.properties logback.xml mybatis-config.xml
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/top_news?serverTimezone=UTC&rewriteBatchedStatements=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=123456
[%d{yyyy:MM:dd HH:mm:ss}] [%-5level] [%thread] [%logger] [%method]--%msg %n
UTF-8
这个时候看一下所有的包里是没有任何类
然后双击这个generator
最终项目结构如下:
然后随便写个测试
package com.liu.test;
import com.liu.mybatis.bean.User;
import com.liu.mybatis.bean.UserExample;
import com.liu.mybatis.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TestGenerator {
private SqlSessionFactory sqlSessionFactory;
@Before
public void init() throws IOException {
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
}
@Test
public void testGenerator01(){
SqlSession sqlSession = sqlSessionFactory.openSession(true);
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
UserExample userExample = new UserExample();
userExample.createCriteria().andNameEqualTo("宋江");
List users = mapper.selectByExample(userExample);
System.out.println(users);
}
}
ssm整合
1.导入jar包
5.3.6
UTF-8
17
17
17
org.springframework
spring-context
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
3.5.7
org.mybatis
mybatis-spring
2.0.6
com.alibaba
druid
1.0.9
junit
junit
4.12
test
mysql
mysql-connector-java
8.0.16
log4j
log4j
1.2.17
com.github.pagehelper
pagehelper
5.2.0
ch.qos.logback
logback-classic
1.2.3
javax.servlet
javax.servlet-api
3.1.0
provided
com.fasterxml.jackson.core
jackson-databind
2.12.1
commons-fileupload
commons-fileupload
1.3.1
org.thymeleaf
thymeleaf-spring5
3.0.12.RELEASE
org.projectlombok
lombok
1.18.24
provided
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.0
true
org.mybatis.generator
mybatis-generator-core
1.3.2
com.mchange
c3p0
0.9.2
mysql
mysql-connector-java
8.0.16
2.配置前端控制器
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:/spring*.xml
springmvc
/
3.创建generatorConfig.xml配置文件,导入jar包
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.0
true
org.mybatis.generator
mybatis-generator-core
1.3.2
com.mchange
c3p0
0.9.2
mysql
mysql-connector-java
8.0.16
4.加servlet
接口Servlet
实现类 交给spring容器 加注解 @Servlet 注入Mapper的接口 @Autwried
@Mapper注解 让spring容器管理Mapper接口 ,创建代理对象 交给spring容器管理
package com.liu.service;
import com.liu.mybatis.mapper.UserMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
@Mapper
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
}
5.controller层
@RestController
注入Servlet层
package com.liu.controller;
import com.liu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
//返回的是json串 是response 和Controller的相结合注解
@RestController
public class UserController {
@Autowired
private UserService userService;
}
6.配置springmvc 主要控制controller
包扫描
开启mvc注解
视图解析器 不跳页面可以不写
放行静态资源
7.spring.xml
包扫描(mvc已经做过)
加载指定的配置文件
配置数据源
导入jdbc.properties
配置事务管理器
开启事务注解
如果mvc和spring配置文件分开, 就在web.xml中初始化spring
8.spring.xml整合mybatis
SqlSessionFactoryBean
引入数据源
dataSource ref=dataSource
别名包
引入mybatis配置文件
引入映射文件
mapper文件直接提取出来到resources下,引入映射文件路径直接mapper/*
加入logback
[%d{yyyy:MM:dd HH:mm:ss}] [%-5level] [%thread] [%logger] [%method]--%msg %n
UTF-8
加入mybatis-config.xml
让spring为mapper接口创建代理对象
制定包扫描 加载@mapper注解
但是只要在spring.xml中配置了代理,@Mapper就可以不写
package com.liu.service.impl;
import com.liu.mapper.UserMapper;
import com.liu.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
//@Mapper
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
}
你可能感兴趣的:(java,开发语言)