c3p0数据库
c3p0数据库
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 内部类 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<meta charset="UTF-8">
<style type="text/css">
body{background-color:#6600ff;}
p{text-indent:2em;}
</style>
</head>
<body>
<h3>一、内部类基础</h3>
<p>在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、<br/>局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。</p>
<h4>1.成员内部类</h4>
成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:<br/>
<p>class Circle {</p>
<p>double radius = 0;</p>
<p>public Circle(double radius) {</p>
<p>this.radius = radius;</p>
<p>}<br/>
<p>class Draw { //内部类</p>
<p>public void drawSahpe() {</p>
<p>System.out.println("drawshape");</p>
<p>}</p>
<p>}</p>
}</p>
<p>成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)。</p>
<p>不过要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问<br/>外部类的同名成员,需要以下面的形式进行访问:</p>
<p>外部类.this.成员变量</p>
<p>外部类.this.成员方法</p>
<span>虽然成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员却不是这么随心所欲了。在外部类中如果要访问成员内部类的<br/>成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问:</span>
<p>class Circle {</p>
<p>private double radius = 0;</p>
<p>public Circle(double radius) {</p>
<p>this.radius = radius;</p>
<p>getDrawInstance().drawSahpe(); //必须先创建成员内部类的对象,再进行访问</p>
<p>}</p>
<p>private Draw getDrawInstance() {</p>
<p>return new Draw();</p>
<p>}</p>
<p>class Draw { //内部类</p>
<p>public void drawSahpe() {</p>
<p>System.out.println(radius); //外部类的private成员</p>
<p>}</p>
<p>}</p>
<p>}</p>
<span>成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象。创建成员内部类对象的一般 <br/>方式如下:</span>
<p>public class Test {</p>
<p>public static void main(String[] args) {</p>
<p>//第一种方式:</p>
<p>Outter outter = new Outter();</p>
<p>Outter.Inner inner = outter.new Inner(); //必须通过Outter对象来创建</p>
<p>//第二种方式:</p>
<p>Outter.Inner inner1 = outter.getInnerInstance();</p>
<p>}</p>
<p>}</p>
<p>class Outter {</p>
<p>private Inner inner = null;</p>
<p>public Outter() {</p>
<p>}</p>
<p>public Inner getInnerInstance() {</p>
<p>if(inner == null)</p>
<p>inner = new Inner();</p>
<p>return inner;</p>
<p>}</p>
<p>class Inner {</p>
<p>public Inner() {</p>
<p>}</p>
<p>}</p>
<p>}</p>
<span>内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。比如上面的例子,如果成员内部类Inner用private修饰,则<br/>只能在外部类的内部访问,如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如<br/>果是默认访问权限,则只能在同一个包下访问。这一点和外部类有一点不一样,外部类只能被public和包访问两种权限修饰。我个人是这么理解的,<br/>由于成员内部类看起来像是外部类的一个成员,所以可以像类的成员一样拥有多种权限修饰。</span>
</body>
</html>
创建数据库:
create database 数据库名称
展示所有的创建的数据库:
show databases
使用某个数据库:
use 数据库名称
查看当前所使用的数据库:
select database()
############
创建表:
create table 表名();
展示表:
show tables
删除表:
drop table 表名
增加表中的元组:
insert into 表名 values ()
删除表中的内容:
delete from 表名
修改表中的内容:
update 表名 set 属性 = 某 where 限制条件
查表:
select * from 表名
##########
修改表名:
rename table 原来的表名 to
分页查询:
limit 所要查询的起始行数 ,每页的行数
起始行数=(页数-1)*每页的行数
若要查询第n页,每页为m行:limit (n-1)*m , m
################
PreparedStatement 类 :作为查询
PreparedStatement pstmt = null;
pstmt.setXXX(1, XXXX);
pstmt.setXXX(2, XXXX);
############
Connection con = null;Connection con = null;
rs = stmt.executeQuery(); // 发起请求
PreparedStatement对象可以防止sql注入,而Statement不能防止sql注入
crud: create(插入),read(读取),update(更新),delete(删除)
stmt.executeUpdate(); 应用于:create(插入),update(修改),delete(删除)
stmt.executeQuery();应用于read(读取)
sql注入会导致黑客侵入。
jdbc编程
java database connrctivity
使用java里提供的一些类和方法,利用程序链接数据库,进行增删改查
重命名
rename table tablename to new_tablename;
事务保证工作要么同时成功要么同时失败
DriverManager驱动管理器
getConnection方法连接数据库
静态代码块中的程序最先执行
连接池就是数据源 dbcp数据源 c3p0数据源;、
MinIdle 保持有最少个空闲连接
show datbess
Class.forname(“com.mysql.jdbc.driver”);注册驱动。
connection con=driverManager.getConnection(url),连接数据库
prparstatement s=con.prparstatementstatement(sql);
Resultser re= 返回结果集。
if(re.next){}
数据库修改表名语句:
rename table (原表名)to (新表名);
往表里面插入数据:
insert into user (username,password) values('LiSi', '321');
当自己写一个方法的时候,如果有异常,需要抛出去,交给其他的方法处理,不能自己抛出来的异常自己处理
在main方法里的异常,抛出来之后,系统可以帮我们处理
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/webdb_9?useUnicode=true&charterEncoding=UTF-8";
String user="root";
String password="root";
Connection C=DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static
connection.setAutoCommit(false); //手动开启事务
connection.commit(); //提交事务