zoukankan      html  css  js  c++  java
  • 2021.1.8

    DBUtils工具类
    1.目的:
    优化JDBC开发流程,使得开发之只注重业务需求,不需要再关注与繁琐的jdbc开发步骤,只注重业务需求得sql语句
    2.步骤:
    1.把相关给的六个jar包放在lib文件夹下面
    1. druid-1.0.9.jar包
    2. c3p0-0.9.5.2.jar
    3. mysql-connector-java-5.1.37-bin.jar
    4. commons-logging-1.2.jar包,
    5. commons-dbutils-1.6.jar包,
    6. mchange-commons-java-0.2.12.jar
    2.数据库工具类DruidGBUtil可以获取数据源
    3.从数据源获取链接---->DBUtils直接操作sql语句
    4.api常用方法
    update:用于增删改操作--->delete,insert,update
    query:用于查询操作,select执行查询语句
    5.具体操作
    1.先构建QueryRunner对象,需要依赖数据源
    2.根据操作类型选择update或者query
    - update(sql,Object....parameters)
    - query(sql,Object...parameters,对应的字节码对象类型) 实现ResultSetHandler接口,
    - BeanHandle--->装配一个Bean对象
    - BeanListHandle--->装配多个Bean对象
    - MapListHandle-->装配多个bean对象,每一个对象都装配到map集合中
    - 注意:ScalaHandle类型---->默认返回值是long类型

    代码
    public class DBUtilsDemo01 {
    //构建QueryRunner类对象
    private static QueryRunner runner=new QueryRunner(DruidDBUtil.getDataSource());

    public static void main(String[] args) throws Exception {
    	//添加一条数据
    	//insertDate();
    	//修改一条数据
    	//updateDate();
    	//删除一条数据
    	//deleteDate();
    	//查询一条数据
    	//System.out.println(queryone());
    	//查询总信息值
    	//System.out.println(queryAll());
    	//查询id大于2的记录数记录数
    	//System.out.println(queryTotalNumber());
    	
    }
    
    
    //添加数据
    public static void insertDate() {
    	String sql="insert into account values(null,?,?)"; 
    	try {
    		int count = runner.update(sql,"小花",4000);
    		if(count>0) {
    			System.out.println("添加数据成功");
    		}else {
    			System.out.println("添加失败");
    		}
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    }
    
    
    //修改一条数据
    public static void updateDate() throws Exception {
    	int count = runner.update("update account set balance = ? where username = ?",10000,"小花");
    	if(count>0) {
    		System.out.println("添加数据成功");
    	}else {
    		System.out.println("添加失败");
    	}
    }
    
    
    
    //删除一条数据
    public static void deleteDate() throws Exception {
    	int count = runner.update("delete from account where username = ?","张三");
    	if(count>0) {
    		System.out.println("添加数据成功");
    	}else {
    		System.out.println("添加失败");
    	}
    }
    
    
    //查询一条数据
    public static Account queryone() throws Exception {
    	//BenaHandle对ResultSetHandle有了实现
    	Account account = runner.query("select * from account where id = ?",new BeanHandler<>(Account.class),2);
    	return account;
    }
    
    
    //查询总记录
    public static List<Account> queryAll() throws Exception {
    	//BeanListHandle对ResultSetHandle做了实现
    	return runner.query("select * from account",new BeanListHandler<>(Account.class));
    
    }
    
    //查询id大于2的记录数
    public static long queryTotalNumber() throws Exception {
    	//查询总记录数用ScalarHande对ResultSetHandle做了实现
    	return runner.query("select count(1) from account where id > ?",new ScalarHandler<>() , 2);
    }
    

    }

    DruidDBUtil代码
    // 使用德鲁伊连接池配置工具类
    public class DruidDBUtil {

    private static DataSource pool = null;
    // 把加载德鲁伊的一套放进静态代码块中
    static{
    	try {
    		//手动加载配置文件信息: Properties集合
    	Properties properties = new Properties();
    	// 使用当前类的字节码对象获取该字节码对象的类加载器  去读取配置文件信息
    	InputStream is = DruidDBUtil.class.getClassLoader().getResourceAsStream("db.properties");
    		// 把输入流中的信息读取properties集合当中
    		properties.load(is);
    		// 获取DataSource对象 :通过工厂方式来实现的,DruidDataSourceFactory
    		pool = DruidDataSourceFactory.createDataSource(properties);
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    }
    
    // 对外提供获取连接的对象
    public static Connection getConnection() throws SQLException {
    	return pool.getConnection();
    }
    
    // 提供获取连接池的方法
    public static DataSource getDataSource() {
    	return pool;
    }
    
    // 释放资源的方法
    public static void closeAll(ResultSet set,PreparedStatement ps,Connection conn) {
    	if (set != null) {
    		try {
    			set.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    	if (ps != null) {
    		try {
    			ps.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    	if (conn != null) {
    		try {
    			conn.close();
    		} catch (SQLException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    }

    db.properties代码
    键值对格式的 键和值用=连接
    连接数据库的四大组件
    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql:///java31?characterEncoding=utf8
    username=root
    password=root
    初始化池子的连接数量
    initialSize=10
    最大池子连接数量
    maxActive=50
    最长等待时间
    maxWait=3000

    web服务器
    服务器链接项目概念图

    服务器:软件+硬件--->安装了服务器软件的计算机就能成为服务器

    服务器软件:具体的软件产品,接收用户的一些请求,并把结果返回给用户

    web服务器软件:一般用于网站的服务器,可以处理浏览器客户端的一些请求,并返回一些响应,目的就是个让任何用户都能访问我们在服务器中部署的web资源

    web容器:安装服务器软件

    常见的web服务器软件

    • tomcat:免费,开源,使用用户群体大,适用范围广泛,知名度很高, 服务中小型项目,
    • weblogic:是oracle公司 服务于大型JavaEE项目,性能比comcat搞,支持所有的javaEE规范 收费的
    • webSphere:IBM公司 服务大型JavaEE项目,支持所有的javaEE规范,收费的
    • jboss:jboss公司服务与大型javaEE项目,支持所有的javaEE规范 收费的

    javaEE十三种规范

    1. JDBC---->使用JAVA语言连接数据库的规范,主要是对关系型数据库提供统一的访问方式,针对不同得数据库只使用一套代码就可以了,
    2. JNDI---->java命名和目录接口:提供了一套统一可以在网络中查找和访问服务的方式,是通过指定一个服务器名称,该名称对应于数 据 库或者命名服务器中的一个记录.在DateSource中建立多个数据库连接,保存在数据库连接池中,当程序中需要连接时从数据库连接池中取出一个空闲状态的数据库连接即可.
    3. EJB:---->一套服务器组件模型,包含四种状态的对象类型,无状态会话bean,有状态会话bean,实体bean,消息驱动bean.
    4. RMI:---->远程发调用,比如一台计算机想调用另一台计算机里面的数据---->能够在一台计算机中访问另一台应用(方法)
    5. JSP:---->java服务器页面,是一个动态的内容模板,jsp可以使用Servlet提供的API方法,一般情况下,需要和javaBean结合使用
    6. Servlet:---->使用java语言编写的运行在服务器端的小程序,扩展了web服务器的功能
    7. XML:---->是一种可扩展的标记语言,被用来在不同业务中实现共享,他主要用于传输数据,,只是用来传输数据,不是用来保存的
    8. JMS:---->是jaca消息服务器,主要应用在不同的客户端中实现异步的消息传输,也是一个和java平台无关的面向消息服务的中间件
    9. java IDL:--->java接口定义语言,描述软件的一种计算机语言
    10. JTS:---->一套组件用于进行事物的监听
    11. JTA:---->java书屋API
    12. javaMail:--->是用于存取邮件的服务器,支持Smpt服务,也支持imap服务还支持POP服务
    13. JAF:----> 是java中一套关于处理数据的一套框架

    Tomcat
    1.概念:是web服务器软件
    2.操作步骤
    1.在Tomcat官网下载--->Download--->Tomcat9.0--->下载一个64位的包--->D:JavaTomcatapache-tomcat-9.0.39.jar包
    2.解压到D:Java位置方便以后寻找
    3.启动Tomcat服务--->在Tomcat-->bin--->startup.bat--->以管理与是否运行--->双击打开
    4.验证是否打开--->在浏览器地址栏中输入localhost:8080---->出现Tomcat的官网网站就说明打开了
    5.如果打开失败--->在环境变量位置查看--->JAVA_HOME配置路径是不是JDK的路径
    6.关闭Tomcat:
    1.直接点击关闭按钮
    2. cmd指令:netstat -ano---->找到8080---->找到对应的后四位数字---->任务管理器的详细信息--->找到最后四位和8080后四位相对应的--->结束任务
    3.在tomcat里面的conf,找到server.xml打开它--->ctrl+f--->查找里面搜Connector--->改8080为80----->这样在搜索的时候就不用谢端口号了,很多不用谢端口号的网站都是把80作为端口号

    3.介绍Tomcat的目录
    - bin:存放的一些可执行文件
    - conf:存放的是一些配置文件信息,修改配置的信息就是在这里面找,比如乱码和端口号修改
    - lib:Tomcat运行支持的一些类库jar包
    - logs:Tomcat服务器运行的日志文件,就是实时记录你对Tomcat的一些操作(这就是浏览网页的浏览记录)
    - Temp:Tomcat运行的临时文件
    - webapps:存放的事web项目,把需要部署到服务器上的web数目存放到webapps下面,项目运行不成功,先看web文件室温保存到这里面了,
    - work:存放Tomcat运行过程产生的数据文件信息

    4.项目部署

    1. 将web项目直接放到webapps下面就可以了,虚拟目录默认就是项目名称,
      部署好了之后localhost:8080/文件名/具体页面名

    2. 配置conf/server.xml文件
      在最下面Host标签里面配置
      Context docBase = "D:Javahelloword" path = "/helloworld"
      docBase:表示项目文件的路径
      path:表示虚拟目录--->/后面不跟学校表示没有虚拟目录,直接访问就可以了
      搜素的时候直接搜索:ip地址:Tomcat端口号/项目名/项目内部页面名->http://localhost:8080/helloworld/index.html

    3. 将Tomcat集成到IDE开发工具之中,免得这些配置文件那么麻烦,使用开发工具对问项目进行部署
      如何找工程目录:右击项目---->properties--->web project setting--->显示虚拟目录

    6.Eclipse工具操作步骤
    绑定tomcat工具

    **打开Server窗口**
    

    **修改Servers配置**
    

    **修改项目的虚拟目录**
    

    **添加Tomcat服务器后台管理的账户和权限**
    

  • 相关阅读:
    Jquery实现Gridview全选功能
    SQL Server日期计算
    避免表格table被撑开变形的CSS代码实例
    oracle游标使用
    最短路径算法及应用
    Jquery实现GridView隔行变色,鼠标经过变色,单击或者选中变色
    【项目】项目109
    【项目】项目107
    【项目】项目111
    【项目】项目110
  • 原文地址:https://www.cnblogs.com/tushao/p/14253303.html
Copyright © 2011-2022 走看看