写在最后
可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
jdbc-url: jdbc:mysql://192.168.252.53:3306/zlflovemm?characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL
username: root
password: 123456
max-idle: 10
max-wait: 10000
min-idle: 5
initial-size: 5
two:
driver-class-name: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://192.168.252.53:3306/zlfdb?characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL
username: root
password: 123456
max-idle: 10
max-wait: 10000
min-idle: 5
initial-size: 5
这里需要注意的是如果使用的是springboot 2.0 以上的,那么注意是 driver-class-name 和
jdbc-url 而不是driverClassName和url.这里是一个坑,提醒大家一下。
接下来就需要我们手动的加载什么什么数据源了,我们在config中创建 DataSourcesConfig 类
@Configuration
public class DataSourcesConfig {
@Bean(name=“dbOne”)
@ConfigurationProperties(prefix = “spring.datasource.one”)
@Primary
DataSource dbOne(){
return DataSourceBuilder.create().build();
}
@Bean(name=“dbTwo”)
@ConfigurationProperties(prefix = “spring.datasource.two”)
DataSource dbTwo(){
return DataSourceBuilder.create().build();
}
}
这里定义了两个数据源的DataSource。分别是我们在配置文件中配置的one 和two 。注解@Primary 表示默认使用的数据源。
MyBatisConfigOne 类
@Configuration
@MapperScan(basePackages = “com.quellan.zlflovemm.dao.mapper1”,sqlSessionFactoryRef = “sqlSessionFactory1”,sqlSessionTemplateRef = “sqlSessionTemplate1”)
public class MyBatisConfigOne {
@Resource(name = “dbOne”)
DataSource dbOne;
@Bean
@Primary
SqlSessionFactory sqlSessionFactory1()throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dbOne);
return bean.getObject();
}
@Bean
@Primary
SqlSessionTemplate sqlSessionTemplate1() throws Exception{
return new SqlSessionTemplate(sqlSessionFactory1());
}
}
MyBatisConfigTwo 类
@Configuration
@MapperScan(basePackages = “com.quellan.zlflovemm.dao.mapper2”,sqlSessionFactoryRef = “sqlSessionFactory2”,sqlSessionTemplateRef = “sqlSessionTemplate2”)
public class MyBatisConfigTwo {
@Resource(name = “dbTwo”)
DataSource dbTwo;
@Bean
SqlSessionFactory sqlSessionFactory2()throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dbTwo);
return bean.getObject();
}
@Bean
SqlSessionTemplate sqlSessionTemplate2()throws Exception {
return new SqlSessionTemplate(sqlSessionFactory2());
}
}
注意连个文件的区别:
在dao 层创建了两个包mapper1 和mapper2 .包里面的UserMapper类的内容是完全一样,放在不同的包中只是区分使用哪个数据源。和昨天是一样的。
public interface UserMapper {
@Select(“select id,username as userName,password,email,role_code as roleCode,gmt_create as gmtCreate,gmt_update as gmtUpdate,nickname as nickName,user_create as userCreate from sys_user”)
List findUserList();
@Insert({“insert into sys_user(username,password,email) values(‘ u s e r . u s e r N a m e ′ , ′ {user.userName}',' user.userName′,′{user.password}’,‘${user.email}’)”})
int add(@Param(“user”) UserEntry user);
@Delete(“delete from sys_user where id = #{id}”)
int delete(int id);
}
UserService接口
public interface UserService {
List findUserList();
int addUser(String userName,String password,String email);
int deleteUser(int id);
List findUserList2();
int addUser2(String userName,String password,String email);
int deleteUser2(int id);
}
UserServiceImpl类:
@Service
public class UserServiceImpl implements UserService {
@Autowired
protected UserMapper userMapper;
@Autowired
protected UserMapper2 userMapper2;
@Override
public List findUserList() {
return userMapper.findUserList();
}
@Override
public int addUser(String userName, String password, String email) {
UserEntry user=new UserEntry();
user.setUserName(userName);
user.setPassword(password);
user.setEmail(email);
return userMapper.add(user);
}
@Override
public int deleteUser(int id) {
return userMapper.delete(id);
}
@Override
public List findUserList2() {
return userMapper2.findUserList();
}
@Override
public int addUser2(String userName, String password, String email) {
UserEntry user=new UserEntry();
user.setUserName(userName);
user.setPassword(password);
user.setEmail(email);
return userMapper2.add(user);
}
@Override
public int deleteUser2(int id) {
return userMapper2.delete(id);
}
}
userController
@Slf4j
@RestController
@RequestMapping(“/user”)
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value = “/list”,method = RequestMethod.GET)
public List findUserList(){
return userService.findUserList();
}
@RequestMapping(value = “/add”,method = RequestMethod.GET)
public String addUser(@RequestParam(value = “userName”)String uaserName,@RequestParam(value = “password”)String password,@RequestParam(value = “email”)String email){
int falg=userService.addUser(uaserName,password,email);
if(falg>0){
return “success”;
}
return “error”;
}
@RequestMapping(value = “/delete”,method = RequestMethod.GET)
public String deleteUser(@RequestParam(value = “id”)int id){
if(userService.deleteUser(id)>0){
return “success”;
}
return “error”;
}
@RequestMapping(value = “/list2”,method = RequestMethod.GET)
public List findUserList2(){
return userService.findUserList2();
}
@RequestMapping(value = “/add2”,method = RequestMethod.GET)
public String addUser2(@RequestParam(value = “userName”)String uaserName,@RequestParam(value = “password”)String password,@RequestParam(value = “email”)String email){
int falg= userService.addUser2(uaserName,password,email);
if(falg>0){
return “success”;
}
return “error”;
}
@RequestMapping(value = “/delete2”,method = RequestMethod.GET)
public String deleteUser2(@RequestParam(value = “id”)int id){
if(userService.deleteUser2(id)>0){
return “success”;
}
return “error”;
}
面试准备+复习分享:
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦
g(value = “/delete2”,method = RequestMethod.GET)
public String deleteUser2(@RequestParam(value = “id”)int id){
if(userService.deleteUser2(id)>0){
return “success”;
}
return “error”;
}
面试准备+复习分享:
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦
[外链图片转存中…(img-dbMSfzBT-1715100241933)]