01DButils工具类的介绍个三个核心类

  1. * A: DButils工具类的介绍个三个核心类
  2. * a: 概述
  3. * DBUtilsjava编程中的数据库操作实用工具,小巧简单实用。
  4. * DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
  5. * DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具。
  6. * b: Dbutils三个核心功能介绍
  7. * QueryRunner中提供对sql语句操作的API.
  8. * update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
  9. * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
  10. * ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
  11. * DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

02事务的简单介绍

03QueryRunner类的update方法介绍

  1. * AQueryRunner类的update方法介绍
  2. * a: 方法介绍
  3. * update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
  4. * 使用QueryRunner类,实现对数据表的insert delete update
  5. * 调用QueryRunner类的方法 update (Connection con,String sql,Object...param)
  6. * Object...param 可变参数,Object类型,SQL语句会出现?占位符
  7. * 数据库连接对象,自定义的工具类传递

04QueryRunner类实现insert添加数据

  1. * A: QueryRunner类实现insert添加数据
  2. * a: 案例代码
  3. public class QueryRunnerDemo {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args)throws SQLException {
  6. insert();
  7. }
  8. /*
  9. * 定义方法,使用QueryRunner类的方法update向数据表中,添加数据
  10. */
  11. public static void insert()throws SQLException{
  12. //创建QueryRunner类对象
  13. QueryRunner qr = new QueryRunner();
  14. String sql = "INSERT INTO sort (sname,sprice,sdesc)VALUES(?,?,?)";
  15. //将三个?占位符的实际参数,写在数组中
  16. Object[] params = {"体育用品",289.32,"购买体育用品"};
  17. //调用QueryRunner类的方法update执行SQL语句
  18. int row = qr.update(con, sql, params);
  19. System.out.println(row);
  20. DbUtils.closeQuietly(con);
  21. }
  22. }

05QueryRunner类实现update修改数据

  1. * A: QueryRunner类实现update修改数据
  2. * a: 案例代码
  3. public class QueryRunnerDemo {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args)throws SQLException {
  6. update();
  7. }
  8. /*
  9. * 定义方法,使用QueryRunner类的方法update将数据表的数据修改
  10. */
  11. public static void update()throws SQLException{
  12. //创建QueryRunner类对象
  13. QueryRunner qr = new QueryRunner();
  14. //写修改数据的SQL语句
  15. String sql = "UPDATE sort SET sname=?,sprice=?,sdesc=? WHERE sid=?";
  16. //定义Object数组,存储?中的参数
  17. Object[] params = {"花卉",100.88,"情人节玫瑰花",4};
  18. //调用QueryRunner方法update
  19. int row = qr.update(con, sql, params);
  20. System.out.println(row);
  21. DbUtils.closeQuietly(con);
  22. }
  23. }

06QueryRunner类实现delete删除数据

  1. * A: QueryRunner类实现delete删除数据
  2. * a: 案例代码
  3. public class QueryRunnerDemo {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args)throws SQLException {
  6. delete();
  7. }
  8. /*
  9. * 定义方法,使用QueryRunner类的方法delete将数据表的数据删除
  10. */
  11. public static void delete()throws SQLException{
  12. //创建QueryRunner类对象
  13. QueryRunner qr = new QueryRunner();
  14. //写删除的SQL语句
  15. String sql = "DELETE FROM sort WHERE sid=?";
  16. //调用QueryRunner方法update
  17. int row = qr.update(con, sql, 8);
  18. System.out.println(row);
  19. /*
  20. * 判断insert,update,delete执行是否成功
  21. * 对返回值row判断
  22. * if(row>0) 执行成功
  23. */
  24. DbUtils.closeQuietly(con);
  25. }
  26. }

07JavaBean类

  1. * A: JavaBean
  2. * a: 概念
  3. * JavaBean就是一个类,在开发中常用封装数据。具有如下特性
  4. 1. 需要实现接口:java.io.Serializable ,通常实现接口这步骤省略了,不会影响程序。
  5. 2. 提供私有字段:private 类型 字段名;
  6. 3. 提供getter/setter方法:
  7. 4. 提供无参构造

08DBUtils工具类结果集处理的方式

  1. * A: DBUtils工具类结果集处理的方式
  2. * a: QueryRunner实现查询操作
  3. * query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
  4. * b: ResultSetHandler结果集处理类
  5. * ArrayHandler 将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值
  6. * ArrayListHandler 将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。
  7. * BeanHandler 将结果集中第一条记录封装到一个指定的javaBean中。
  8. * BeanListHandler 将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
  9. * ColumnListHandler 将结果集中指定的列的字段值,封装到一个List集合中
  10. * ScalarHandler 它是用于单数据。例如select count(*) from 表操作。
  11. * MapHandler 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据
  12. * MapListHandler 将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合

09QueryRunner类的方法query

  1. * A: QueryRunner类的方法query
  2. * a: QueryRunner数据查询操作
  3. * 调用QueryRunner类方法query(Connection con,String sql,ResultSetHandler r, Object..params)
  4. * ResultSetHandler r 结果集的处理方式,传递ResultSetHandler接口实现类
  5. * Object..params SQL语句中的?占位符
  6. * 注意: query方法返回值,返回的是T 泛型, 具体返回值类型,跟随结果集处理方式变化
  7. * b: 案例代码
  8. public class QueryRunnerDemo1 {
  9. private static Connection con = JDBCUtilsConfig.getConnection();
  10. }

10结果集处理ArrayHandler

  1. * A: 结果集处理ArrayHandler
  2. * 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. arrayHandler();
  7. }
  8. /*
  9. * 结果集第一种处理方法, ArrayHandler
  10. * 将结果集的第一行存储到对象数组中 Object[]
  11. */
  12. public static void arrayHandler()throws SQLException{
  13. QueryRunner qr = new QueryRunner();
  14. String sql = "SELECT * FROM sort";
  15. //调用方法query执行查询,传递连接对象,SQL语句,结果集处理方式的实现类
  16. //返回对象数组
  17. Object[] result = qr.query(con, sql, new ArrayHandler());
  18. for(Object obj : result){
  19. System.out.print(obj);
  20. }
  21. }
  22. }

11结果集处理ArrayListHandler

  1. * A: 结果集处理ArrayListHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. arrayListHandler();
  7. }
  8. /*
  9. * 结果集第二种处理方法,ArrayListHandler
  10. * 将结果集的每一行,封装到对象数组中, 出现很多对象数组
  11. * 对象数组存储到List集合
  12. */
  13. public static void arrayListHandler()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort";
  16. //调用query方法,结果集处理的参数上,传递实现类ArrayListHandler
  17. //方法返回值 每行是一个对象数组,存储到List
  18. List<Object[]> result= qr.query(con, sql, new ArrayListHandler());
  19.  
  20. //集合的遍历
  21. for( Object[] objs : result){
  22. //遍历对象数组
  23. for(Object obj : objs){
  24. System.out.print(obj+" ");
  25. }
  26. System.out.println();
  27. }
  28. }
  29. }

12结果集处理BeanHandler

  1. * A: 结果集处理BeanHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. beanHandler();
  7. }
  8. /*
  9. * 结果集第三种处理方法,BeanHandler
  10. * 将结果集的第一行数据,封装成JavaBean对象
  11. * 注意: 被封装成数据到JavaBean对象, Sort类必须有空参数构造
  12. */
  13. public static void beanHandler()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort ";
  16. //调用方法,传递结果集实现类BeanHandler
  17. //BeanHandler(Class<T> type)
  18. Sort s = qr.query(con, sql, new BeanHandler<Sort>(Sort.class));
  19. System.out.println(s);
  20. }
  21. }

13结果集处理BeanListHandler

  1. * A: 结果集处理BeanListHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. beanListHander();
  7. }
  8. /*
  9. * 结果集第四种处理方法, BeanListHandler
  10. * 结果集每一行数据,封装JavaBean对象
  11. * 多个JavaBean对象,存储到List集合
  12. */
  13. public static void beanListHander()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort ";
  16. //调用方法query,传递结果集处理实现类BeanListHandler
  17. List<Sort> list = qr.query(con, sql, new BeanListHandler<Sort>(Sort.class));
  18. for(Sort s : list){
  19. System.out.println(s);
  20. }
  21. }
  22. }

14结果集处理ColumnListHandler

  1. * A: 结果集处理ColumnListHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. columnListHandler();
  7. }
  8. /*
  9. * 结果集第五种处理方法,ColumnListHandler
  10. * 结果集,指定列的数据,存储到List集合
  11. * List<Object> 每个列数据类型不同
  12. */
  13. public static void columnListHandler()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort ";
  16. //调用方法 query,传递结果集实现类ColumnListHandler
  17. //实现类构造方法中,使用字符串的列名
  18. List<Object> list = qr.query(con, sql, new ColumnListHandler<Object>("sname"));
  19. for(Object obj : list){
  20. System.out.println(obj);
  21. }
  22. }
  23. }

15结果集处理ScalarHandler

  1. * A: 结果集处理ScalarHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. scalarHandler();
  7. }
  8. /*
  9. * 结果集第六种处理方法,ScalarHandler
  10. * 对于查询后,只有1个结果
  11. */
  12. public static void scalarHandler()throws SQLException{
  13. QueryRunner qr = new QueryRunner();
  14. String sql = "SELECT COUNT(*) FROM sort";
  15. //调用方法query,传递结果集处理实现类ScalarHandler
  16. long count = qr.query(con, sql, new ScalarHandler<Long>());
  17. System.out.println(count);
  18. }
  19. }

16结果集处理MapHandler

  1. * A: 结果集处理MapHandler
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. mapHandler();
  7. }
  8. /*
  9. * 结果集第七种处理方法,MapHandler
  10. * 将结果集第一行数据,封装到Map集合中
  11. * Map<键,值> 键:列名 值:这列的数据
  12. */
  13. public static void mapHandler()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort";
  16. //调用方法query,传递结果集实现类MapHandler
  17. //返回值: Map集合,Map接口实现类, 泛型
  18. Map<String,Object> map = qr.query(con, sql, new MapHandler());
  19. //遍历Map集合
  20. for(String key : map.keySet()){
  21. System.out.println(key+".."+map.get(key));
  22. }
  23. }
  24. }

17结果集处理MapListHandler

  1. * A: 结果集处理MapListHandlerr
  2. * a: 案例代码
  3. public class QueryRunnerDemo1 {
  4. private static Connection con = JDBCUtilsConfig.getConnection();
  5. public static void main(String[] args) throws SQLException{
  6. mapListHandler();
  7. }
  8. /*
  9. * 结果集第八种处理方法,MapListHandler
  10. * 将结果集每一行存储到Map集合,键:列名,值:数据
  11. * Map集合过多,存储到List集合
  12. */
  13. public static void mapListHandler()throws SQLException{
  14. QueryRunner qr = new QueryRunner();
  15. String sql = "SELECT * FROM sort";
  16. //调用方法query,传递结果集实现类MapListHandler
  17. //返回值List集合, 存储的是Map集合
  18. List<Map<String,Object>> list = qr.query(con, sql, new MapListHandler());
  19. //遍历集合list
  20. for( Map<String,Object> map : list ){
  21. for(String key : map.keySet()){
  22. System.out.print(key+"..."+map.get(key));
  23. }
  24. System.out.println();
  25. }
  26.  
  27. }
  28. }

18连接池介绍

  1. * A: 连接池介绍
  2. * a: 连接池介绍
  3. * 实际上就是存放连接的池子(容器)
  4. * 在开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程
  5. * 为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection
  6. * 这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池

19连接池概念规范和DataSource接口

  1. * A: 连接池概念规范和DataSource接口
  2. * a: 连接池概念规范
  3. * 用池来管理Connection,这样可以重复使用Connection
  4. * 不用自己来创建Connection,而是通过池来获取Connection对象
  5. * 使用完Connection后,调用Connectionclose()方法也不会真的关闭Connection,而是把Connection“归还”给池
  6. * 连接池技术可以完成Connection对象的再次利用
  7. * b: DataSource接口
  8. * Java为数据库连接池提供了公共的接口:javax.sql.DataSource
  9. * 各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池
  10. * 常见的连接池:DBCPC3P0

20DBCP连接池介绍

  1. * A: DBCP连接池介绍
  2. * a: DBCP连接池介绍
  3. * DBCP也是一个开源的连接池,是Apache Common成员之一,在企业开发中也比较常见,tomcat内置的连接池
  4. * tomcat服务器简单介绍

21导入jar包

  1. * A: 导入jar
  2. * a: jar包介绍
  3. * mysql-connector-java-5.1.37-bin.jar:数据库驱动
  4. * commons-dbutils-1.6.jar:提供QueryRunner类方便进行增删改查操作
  5. * commons-dbcp-1.4.jar
  6. * commons-pool-1.5.6.jar:提供高效的数据库连接池技术
  7. * b: 导入jar
  8. * 在项目根路径下建立文件夹lib
  9. * 拷贝以上jar包,选定拷贝的jar包/右键/Build Path/Add to Build Path

22BasicDataSource类的使用

  1. * A: BasicDataSource类的使用
  2. * a: 案例代码
  3. /*
  4. * 连接池jar包中,定义好一个类 BasicDataSource
  5. * 实现类数据源的规范接口 javax.sql.DataSource
  6. */
  7. public class DataSoruceDemo {
  8. public static void main(String[] args) {
  9. //创建DataSource接口的实现类对象
  10. //实现类, org.apache.commons.dbcp
  11. BasicDataSource dataSource = new BasicDataSource();
  12. //连接数据库的4个最基本信息,通过对象方法setXXX设置进来
  13. dataSource.setDriverClassName("com.mysql.jdbc.Driver");
  14. dataSource.setUrl("jdbc:mysql://localhost:3306/mybase");
  15. dataSource.setUsername("root");
  16. dataSource.setPassword("123");
  17.  
  18. try{
  19. //调用对象方法getConnection获取数据库的连接
  20. Connection con = dataSource.getConnection();
  21. System.out.println(con);
  22. }catch(SQLException ex){
  23. // System.out.println(ex);
  24. ex.printStackTrace();
  25. throw new RuntimeException("数据库连接失败");
  26. }
  27. }
  28. }

23BasicDataSource类的常见配置

  1. * A: BasicDataSource类的常见配置
  2. * a: 常见配置
  3. 分类 属性 描述
  4. 必须项
  5. driverClassName 数据库驱动名称
  6. url 数据库的地址
  7. username 用户名
  8. password 密码
  9. 基本项(扩展)
  10. maxActive 最大连接数量
  11. minIdle 最小空闲连接
  12. maxIdle 最大空闲连接
  13. initialSize 初始化连接

24实现数据库连接池工具类

  1. * A: 实现数据库连接池工具类
  2. * a: 案例代码
  3. /*
  4. * 使用DBCP实现数据库的连接池
  5. * 连接池配置,自定义类,
  6. * 最基本四项完整
  7. * 对于数据库连接池其他配置,自定义
  8. */

  9. import javax.sql.DataSource;

  10. import org.apache.commons.dbcp.BasicDataSource;
  11. public class JDBCUtils{
  12. //创建出BasicDataSource类对象
  13. private static BasicDataSource datasource = new BasicDataSource();
  14.  
  15. //静态代码块,对象BasicDataSource对象中的配置,自定义
  16. static{
  17. //数据库连接信息,必须的
  18. datasource.setDriverClassName("com.mysql.jdbc.Driver");
  19. datasource.setUrl("jdbc:mysql://localhost:3306/day33_user");
  20. datasource.setUsername("root");
  21. datasource.setPassword("123");
  22. //对象连接池中的连接数量配置,可选的
  23. datasource.setInitialSize(10);//初始化的连接数
  24. datasource.setMaxActive(8);//最大连接数量
  25. datasource.setMaxIdle(5);//最大空闲数
  26. datasource.setMinIdle(1);//最小空闲
  27. }
  28.  
  29. //定义静态方法,返回BasicDataSource类的对象
  30. public static DataSource getDataSource(){
  31. return datasource;
  32. }
  33. }ju'o'l'lou'j'ku

25工具类的测试

  1. * A: 工具类的测试
  2. * a: 案例代码
  3. /*
  4. * 测试写好的工具类,
  5. * 提供的是一个DataSource接口的数据源
  6. * QueryRunner类构造方法,接收DataSource接口的实现类
  7. * 后面,调用方法update,query,无需传递他们Connection连接对象
  8. */

  9. import java.sql.SQLException;
  10. import java.util.List;

  11. import org.apache.commons.dbutils.QueryRunner;
  12. import org.apache.commons.dbutils.handlers.ArrayListHandler;

  13. import cn.itcast.jdbcutils.JDBCUtils;
  14. public class QueryRunnerDemo{
  15. public static void main(String[] args) {
  16. select();
  17. }
  18. //定义2个方法,实现数据表的添加,数据表查询
  19. //QueryRunner类对象,写在类成员位置
  20. private static QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());
  21.  
  22. //数据表查询
  23. public static void select(){
  24. String sql = "SELECT * FROM sort";
  25. try{
  26. List<Object[]> list = qr.query(sql, new ArrayListHandler());
  27. for(Object[] objs : list){
  28. for(Object obj : objs){
  29. System.out.print(obj+"\t");
  30. }
  31. System.out.println();
  32. }
  33. }catch(SQLException ex){
  34. throw new RuntimeException("数据查询失败");
  35. }
  36. }
  37.  
  38. //数据表添加数据
  39. public static void insert(){
  40. String sql = "INSERT INTO sort (sname,sprice,sdesc)VALUES(?,?,?)";
  41. Object[] params = {"水果",100.12,"刚刚上市的核桃"};
  42. try{
  43. int row = qr.update(sql, params);
  44. System.out.println(row);
  45. }catch(SQLException ex){
  46. throw new RuntimeException("数据添加失败");
  47. }
  48. }
  49.  
  50. }

30_java之DButils工具类的更多相关文章

  1. Java学习笔记49(DBUtils工具类二)

    上一篇文章是我们自己模拟的DBUtils工具类,其实有开发好的工具类 这里使用commons-dbutils-1.6.jar 事务的简单介绍: 在数据库中应用事务处理案例:转账案例 张三和李四都有有自 ...

  2. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  3. DBUtils工具类的使用

    DBUtils工具类1.DBUtils工具类,由apache组织提供的工具类,对JDBC做了一些简单封装. 做了查询的封装,把查询的结果封装到List集合 Map集合 JavaBean对象中 做了增删 ...

  4. DBUtils工具类和DBCP连接池

    今日内容介绍 1.DBUtils2.处理结果集的八种方式3.连接池4.连接池的用法1 PrepareStatement接口预编译SQL语句 1.1 预处理对象 * 使用PreparedStatemen ...

  5. java使用dbutils工具类实现小程序 管家婆记账软件

    1.所需创建的包和 jar包 2.创建表结构  #生成一些表数据 ,,'交通银行','2016-03-02','家庭聚餐'); ,,'现金','2016-03-15','开工资了'); ,,'现金', ...

  6. 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用

    1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...

  7. dbutils工具类使用

    1DBUtils工具类 1.1概述 DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码 DBUtils三个核心功 ...

  8. DBUtils工具类学习一

    Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能 1.特征 DBUtils是java编程中 ...

  9. Java学习笔记48(DBUtils工具类一)

    上一篇的例子可以明显看出,在增删改查的时候,很多的代码都是重复的, 那么,是否可以将增删改查封装成一个类,方便使用者 package demo; /* * 实现JDBC的工具类 * 定义方法,直接返回 ...

随机推荐

  1. 一次SQLServer索引损坏问题的排查与修复

    线上库执行一项数据变更操作时,一直提示"出现错误 8646.请记录该错误和时间,并与您的系统管理员联系." 通过代码排查,最终确定是在执行某存储过程时触发了如下错误,并指明了位置是 ...

  2. openfalcon源码分析之transfer

    本节内容 transfer功能 transfer接收数据来源 transfer数据去向 transfer的一致性hash transfer的一致性hash key的计算 transfer源码分析 2. ...

  3. PHP获取访客IP、地区位置信息、浏览器、来源页面

    不多说了,每个方法都注释了,可以直接用: <?php //这个类似用来获取访客信息的 //方便统计 class visitorInfo { //获取访客ip public function ge ...

  4. java应用简单递归

    毕业后就怎么学过算法,还在上学的时候学过数据结构,现在基本上都还给老师了,可惜老师学费没有还给我... 情景: 类似于给定一个数字,算他由多少个数字组成,比如:36 现在有10.5.1 ,那么最佳帅3 ...

  5. Jenkins用户权限管理

    一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...

  6. Scrum立会报告+燃尽图 06

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2289] 版本控制:https://git.coding.net/liuyy08 ...

  7. 使用c++实现一个FTP客户端(一)

    之前使用c++实现了一个FTP客户端,在这里做一些记录. 一.需要注意的几点 ①FTP是一种文件传输协议,基于TCP,所以客户端与服务器建立的连接是可靠.安全的,并且要经过三次握手的过程. ②FTP传 ...

  8. Scss开发临时学习过程||webpack、npm、gulp配置

    SCSS语法: 假设变量申明带有!default,那么如果在此申明之前没有这个变量的申明,则用这个值,反之如果之前有申明,则用申明的值. ‘...’传递多个参数: @mixin box-shadow( ...

  9. 【整理】简单的数学期望和概率DP

    数学期望 P=Σ每一种状态*对应的概率. 因为不可能枚举完所有的状态,有时也不可能枚举完,比如抛硬币,有可能一直是正面,etc.在没有接触数学期望时看到数学期望的题可能会觉得很阔怕(因为我高中就是这么 ...

  10. eclipse 3.7 中英文自由切换

    最近在学习Java的开发,然后又很多的资料是对于的英文环境讲解,有的资料是对应的中文环境讲解,所以很都对不上号,郁闷啊....... 而且开发的时候,每个人都使用习惯也不相同:有的人喜欢英文界面,有的 ...