SpringBoot_6

SpringBoot访问数据库
1.SpringBoot使用JDBC
创建项目

创建数据库表

#用户基本信息表
create  table t_user(
user_id int primary key auto_increment,
user_name varchar(20),
user_age int,
user_address varchar(30)	
);

创建javaBean

package com.wangxing.springboot.bean;

public class UserBean {
    private int userid;
    private String username;
    private int userage;
    private String useraddress;

    public int getUserid() {
        return userid;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getUserage() {
        return userage;
    }

    public void setUserage(int userage) {
        this.userage = userage;
    }

    public String getUseraddress() {
        return useraddress;
    }

    public void setUseraddress(String useraddress) {
        this.useraddress = useraddress;
    }
}

配置数据源application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/lianxi?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

注意:在springboot2.0以上的版本中,mysql-connector-java用的6.0以上的版本,需要将原来的com.mysql.jdbc.Driver换成com.mysql.cj.jdbc.Driver
创建数据访问接口及其实现类

package com.wangxing.springboot.dao;
import com.wangxing.springboot.bean.UserBean;
import java.util.List;
import java.util.Map;
public interface UserBeanDao {
    void insertuser(UserBean userBean);
    void updateuser(UserBean userBean);
    void deleteuser(int userid);
    Map<String,Object> selectbyid(int userid);
    List<Map<String,Object>> selectuser();
}
package com.wangxing.springboot.dao.Impl;

import com.wangxing.springboot.bean.UserBean;
import com.wangxing.springboot.dao.UserBeanDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;
@Repository("userBeanDao")
public class UserBeanDaoImpl implements UserBeanDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public void insertuser(UserBean userBean) {
        String insertsql="insert into t_user values(null,?,?,?)";
        Object parms[]={userBean.getUsername(),userBean.getUserage(),userBean.getUseraddress()};
        int temp=jdbcTemplate.update(insertsql,parms);
    }

    @Override
    public void updateuser(UserBean userBean) {
        String updatesql="update t_user set user_name=?,user_age=?,user_address=?where user_id=?";
        Object parms[]={userBean.getUsername(),userBean.getUserage(),userBean.getUseraddress(),userBean.getUserid()};
        int temp=jdbcTemplate.update(updatesql,parms);

    }

    @Override
    public void deleteuser(int userid) {
        String delete="delete from t_user where user_id=?";
        int temp=jdbcTemplate.update(delete,userid);

    }

    @Override
    public Map<String, Object> selectbyid(int userid) {
       String select="select * from t_user where user_id=?";
        return jdbcTemplate.queryForMap(select,userid);
    }

    @Override
    public List<Map<String, Object>> selectuser() {
        String select="select * from t_user";
        return jdbcTemplate.queryForList(select);
    }
}

创建业务访问接口及其实现类

package com.wangxing.springboot.service;
import com.wangxing.springboot.bean.UserBean;
import java.util.List;
import java.util.Map;
public interface UserBeanService {
    void insertuser(UserBean userBean);
    void updateuser(UserBean userBean);
    void deleteuser(int userid);
    UserBean selectbyid(int userid);
    List<Map<String,Object>> selectuser();
}
package com.wangxing.springboot.service.Impl;
import com.wangxing.springboot.bean.UserBean;
import com.wangxing.springboot.dao.UserBeanDao;
import com.wangxing.springboot.service.UserBeanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.List;
import java.util.Map;
@Service("userBeanService")
public class UserBeanServiceImpl implements UserBeanService {
    @Autowired
    private UserBeanDao userBeanDao;
    @Override
    public void insertuser(UserBean userBean) {
        userBeanDao.insertuser(userBean);

    }

    @Override
    public void updateuser(UserBean userBean) {
        userBeanDao.updateuser(userBean);

    }

    @Override
    public void deleteuser(int userid) {
         userBeanDao.deleteuser(userid);
    }
    @Override
    public UserBean selectbyid(int userid) {
         Map<String,Object> usermap=userBeanDao.selectbyid(userid);
         UserBean userBean=new UserBean();
         userBean.setUserid((Integer)usermap.get("user_id"));
         userBean.setUsername((String)usermap.get("user_name"));
         userBean.setUserage((Integer)usermap.get("user_age"));
         userBean.setUseraddress((String)usermap.get("user_address"));
        return  userBean;
    }

    @Override
    public List<Map<String, Object>> selectuser() {
        return userBeanDao.selectuser();
    }
}

创建控制器

package com.wangxing.springboot.controller;
import com.wangxing.springboot.bean.UserBean;
import com.wangxing.springboot.service.UserBeanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
@Controller
public class UserBeanController {
    @Autowired
    private UserBeanService userBeanService;
    @RequestMapping("/add")
    @ResponseBody
    public String get(){
        try{
            UserBean userBean=new UserBean();
            userBean.setUsername("张三");
            userBean.setUserage(18);
            userBean.setUseraddress("西安");
            userBeanService.insertuser(userBean);
            return "添加成功";
        }catch (Exception e){
            e.printStackTrace();
            return "添加失败";
        }

    }
    @RequestMapping("/update")
    @ResponseBody
    public String updatr(){
        try{
            UserBean userBean=new UserBean();
            userBean.setUserid(2);
            userBean.setUsername("李四");
            userBean.setUserage(100);
            userBean.setUseraddress("北京");
            userBeanService.updateuser(userBean);
            return "修改成功";
        }catch (Exception e){
            e.printStackTrace();
            return "添加失败";

        }
    }
    @RequestMapping("/selectbyid")
    @ResponseBody
    public UserBean  finbyid(){
        try{
           return  userBeanService.selectbyid(2);
        }catch (Exception e){
            e.printStackTrace();
            return  null;
        }
    }
    @RequestMapping("/select")
    @ResponseBody
    public List<Map<String,Object>> find(){
        try{
            return userBeanService.selectuser();
        }catch (Exception e){
            e.printStackTrace();
            return  null;
        }

    }
    @RequestMapping(value = "/delete")
    @ResponseBody
    public String delete(){
        try{
            userBeanService.deleteuser(3);
            return "删除成功";
        }catch (Exception e){
            e.printStackTrace();
            return"删除失败";
        }
    }
}

2.SpringBoot使用MyBatis

创建数据库表
#用户基本信息表
create  table t_user(
user_id int primary key auto_increment,
user_name varchar(20),
user_age int,
user_address varchar(30)	
);

创建javaBean

package com.wangxing.springboot.bean;

public class UserBean {
    private int userid;
    private String username;
    private int userage;
    private String useraddress;

    public int getUserid() {
        return userid;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getUserage() {
        return userage;
    }

    public void setUserage(int userage) {
        this.userage = userage;
    }

    public String getUseraddress() {
        return useraddress;
    }

    public void setUseraddress(String useraddress) {
        this.useraddress = useraddress;
    }
}

配置数据源application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/lianxi?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

注意:在springboot2.0以上的版本中,mysql-connector-java用的6.0以上的版本,需要将原来的com.mysql.jdbc.Driver换成com.mysql.cj.jdbc.Driver
创建druid数据源配置类

package com.wangxing.springboot.config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration
public class DruidConfig {
    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druid(){
        return  new DruidDataSource();
    }
}
修改数据源配置application.properties
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true

创建数据访问接口

<?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="com.wangxing.springboot.mapper.UserBeanMapper">
    <insert id="insertUserBean" parameterType="com.wangxing.springboot.bean.UserBean">
        insert into t_user value(null,#{username},#{userage},#{useraddress})
    </insert>
    <update id="updataUserBean"
            parameterType="com.wangxing.springboot.bean.UserBean">
        update t_user set  user_name=#{username},user_age=#{userage},user_address=#{useraddress}where user_id=#{userid}
    </update>
    <delete id="deleUserBeanByid" parameterType="int">
        delete from t_user where user_id=#{userid}
    </delete>
    <resultMap id="userMap" type="com.wangxing.springboot.bean.UserBean">
        <id property="userid" column="user_id"></id>
        <result property="username" column="user_name"></result>
        <result property="userage" column="user_age"></result>
        <result property="useraddress" column="user_address"></result>
    </resultMap>
    <select id="selectBeanByid" parameterType="int" resultMap="userMap">
        select * from t_user where user_id=#{userid}
    </select>
    <select id="selectUserBean" resultMap="userMap">
        select  * from t_user
    </select>

</mapper>

创建MyBatis的配置类

package com.wangxing.springboot.config;

import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@MapperScan("com.wangxing.springboot.mapper")
@Configuration
public class MyBatisConfig {
    @Bean
    public ConfigurationCustomizer configurationCustomizer(){
        return new ConfigurationCustomizer(){
            @Override
            public void customize(org.apache.ibatis.session.Configuration configuration) {
                configuration.setMapUnderscoreToCamelCase(true);
            }
        };
    }
}
在application.properties中配置MyBatis核心配置文件【mybaits-config.xml】和sql映射文件的位置
核心配置文件【mybaits-config.xml】的位置
mybatis.config-location=classpath:config/mybatis-configxml
sql映射文件的位置
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

创建业务访问接口及其实现类

package com.wangxing.springboot.service.Impl;

import com.wangxing.springboot.bean.UserBean;
import com.wangxing.springboot.mapper.UserBeanMapper;
import com.wangxing.springboot.service.UserBeanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("userBeanService")
public class UserServiceImpl implements UserBeanService {
    @Autowired
   private UserBeanMapper userBeanMapper;
    @Override
    public void insertUserBean(UserBean userBean) {
         userBeanMapper.insertUserBean(userBean);
    }

    @Override
    public void updateUserBean(UserBean userBean) {
        userBeanMapper.updataUserBean(userBean);
    }

    @Override
    public void deleteUserBean(int userid) {
        userBeanMapper.deleUserBeanByid(userid);
    }

    @Override
    public UserBean selectUserBeanByid(int userid) {
        return userBeanMapper.selectBeanByid(userid);
    }

    @Override
    public List<UserBean> selectUserBean() {
        return userBeanMapper.selectUserBean();
    }
}

package com.wangxing.springboot.service;

import com.wangxing.springboot.bean.UserBean;

import java.util.List;

public interface UserBeanService {
    void insertUserBean(UserBean userBean);
    void updateUserBean(UserBean userBean);
    void deleteUserBean(int userid);
    UserBean selectUserBeanByid(int userid);
    List<UserBean>selectUserBean();

}

创建控制器

package com.wangxing.springboot.controller;

import com.wangxing.springboot.bean.UserBean;
import com.wangxing.springboot.service.UserBeanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
public class UserBeanController {
    @Autowired
    private UserBeanService userBeanService;

    @RequestMapping("/add")
    @ResponseBody
    public String adduser() {
        try {
            UserBean userBean = new UserBean();
            userBean.setUsername("张三");
            userBean.setUserage(18);
            userBean.setUseraddress("北京");
            userBeanService.insertUserBean(userBean);
            return "添加成功";
        } catch (Exception e) {
            e.printStackTrace();
            return "添加失败";
        }
    }
    @RequestMapping("/update")
    @ResponseBody
    public String updatr() {
        try {
            UserBean userBean = new UserBean();
            userBean.setUserid(1);
            userBean.setUsername("李四");
            userBean.setUserage(18);
            userBean.setUseraddress("西安");
            userBeanService.updateUserBean(userBean);
            return "修改成功";
        }catch (Exception e){
            e.printStackTrace();
            return "修改失败";

        }
    }
    @RequestMapping("/selectbyid")
    @ResponseBody
    public UserBean selectbyid(){
        try{
            return userBeanService.selectUserBeanByid(1);

        }catch (Exception e){
            e.printStackTrace();
           return null;
        }
    }
    @RequestMapping("/select")
    @ResponseBody
    public List<UserBean> select() {
        try {
            return userBeanService.selectUserBean();

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    @RequestMapping("/delete")
    @ResponseBody
    public String delete(){
        try{
            userBeanService.deleteUserBean(1);
            return "删除成功";
        }catch (Exception e){
            e.printStackTrace();
            return "删除失败";
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值