springboot相关配置和基础知识

本文介绍了JDBC连接MySQL的基本步骤,包括驱动注册、连接建立和SQL执行,并强调了配置文件在后期维护中的重要性。接着,讲解了Spring框架的注解使用,如@Controller和@RestController,以及Spring MVC的分层架构。此外,还探讨了面向接口开发的优势和数据库连接池的使用,如DBCP和C3P0,以应对数据库服务器重启等突发情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC:MYSQL

JDBC是连数据库的统称 ,不仅只能练mysql

  1. file->setting->project str…->moudle->depen…->选择包
  2. maven在pom.xml中自动导包
Class.forname("com.mysql.jdbc.Driver");
String url="jdbc:mysql://master:3306/shujia";
String username="root";
String password="123456";
Connection conn=DriverManage.getConnection(url,username,password);
# PreparedStatement 和 Statement(sql注入的问题);
String sql="sql语句";
PreparedStatement ps=conn.preparedStatement(sql);
# 执行后去结果 1.执行DQL(获取结果集) 2.执行DML(受影响行数)

配置文件

方便与后期的维护和更更新

不应该写在代码中,应该从配置文件中读取

java中有一个资源目录 专门存放配置文件

1.创建一个普通目录

2.设置为资源目录

配置文件的后缀必须为peoperties

Peoperties p=new Peoperties();
# 通过反射读取配置文件
InputStream is=当前类.class.getClassLoader().getResourceAsStream("配置文件的名字");
# 加载配置文件
p.load(is);
# 通过k获取v
String v=p.getProperty("K")

Spring

是一个框架 一个模板 前后端的操作

Spring需要通过注解

Spring自动扫描当前包下的所有类(启动Spring的java类所在的包),如果有注解Controller和RestController会自动创建对象

@Controller:

​ 1.让方法的返回值 当作数据返回到前端,需要手动加上注解才能实现@ResponseBody

​ 2.让方法的返回值当做一个页面 去映射与之对应的页面

@RestController: 让方法的返回值 当作数据返回到前端

方法上的注解:

​ @GetMapping(“路径例如/test/show”):会让当前方法绑定一个前端地址(http://localhost:8080/test/show)

MVC

分层的思想

作用:方便与代码的书写和后期的维护

bean->controller->service->dao->util

bean:存放实体类(从数据库中获取的数据,应该用实体类返回)

controller:前后端交互(表现层)

service:业务逻辑判断(业务层)

dao:持久层(查询数据库的)

util:存放工具类(JDBCUtil)

面向接口开发

接口 API 数据接口:spring中加了注解的方法

spring中加了注解的方法:会绑定一个前端的地址,所有人都可以访问

1.为了保证数据的安全性,应该给API加个验证 String key

@GetMapping("/API/login")
public String login(String username,String password,String key){}
面向接口开发->分层

针对于dao和service的修改,可以直接使用一点一点满足所有的变化

dao会被service使用:一旦dao发生该变 与之对应的service也会发生改变

service会被controller使用一旦service发生该变 与之对应的controller也会发生改变

dao会被service使用
#dao中的代码用来连数据库
public class MysqlDao(				#seriver new MysqlDao.selectById();
	public string selectById();
)
public class HiveDao(				#seriver new HiveDao.selectId
	public string selectId();
)


书写Dao层
首先创建一个接口Dao:规定了方法做了统一
public interface UserDao(
	String selectById();
)
下面的实体类叫做DaoImpl

书写Service
接口xxxService
实体类XXXServiceImpl

通过多态创建对象
xxxDao dao=new xxxDaoImpl();

数据库重启

spring项目正在运行 但是数据库所在的服务器重启

通过mysql连接池使用

DBCP:使用之后在给他放回去(conn.close())

 /**
         * 1.创建线程池
         * 2.指定连接属性
         */
        BasicDataSource basicDataSource = new BasicDataSource();
        basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
        basicDataSource.setUrl("jdbc:mysql://master:3306/shujia");
        basicDataSource.setUsername("root");
        basicDataSource.setPassword("123456");
        /**
         * 创建连接池中,连接数量为2
         */
        basicDataSource.setInitialSize(2);
        /**
         *  允许最大连接
         */
        basicDataSource.setMaxActive(5);
        /**
         * 超时时间
         */
        basicDataSource.setMaxIdle(10);

C3P0

/**
         * 1.创建池
         * 2.指定连接信息
         */
        ComboPooledDataSource ds = new ComboPooledDataSource();
        ds.setDriverClass("com.mysql.jdbc.Driver");
        ds.setJdbcUrl("jdbc:mysql://master:3306/shujia");
        ds.setUser("root");
        ds.setPassword("123456");
		/**
         * 创建连接池中,连接数量为2
         */
        ds.setInitialPoolSize(2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值