jsp补-java数据库连接、java反射机制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jsp补-java数据库连接、java反射机制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3707字,纯文字阅读大概需要6分钟。
内容图文
DB
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.*;
public class DB {
private static String driver = "com.mysql.jdbc.Driver";//写死
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
conn = getConnection();
stmt=conn.createStatement();
String sql = "select * from tb_user";
rs = stmt.executeQuery(sql);//执行sql语句 结果保存在rs里
while(rs.next()){//每次只访问一行 必须先调用next 因为如同指向空头节点 return true if the new current row is valid; false if there are no more rows
System.out.println(rs.getString("name"));
}
// 前面的链接和结果让前面的代码继续抛 main throws
sql="insert into tb_user(name,email) values(‘jerry‘,‘123@123‘)";
stmt.executeUpdate(sql);
close(rs);// 是种资源。按顺序关闭 不能一起放一个try里不然抛出异常会导致后面close失败 所以要分别
close(stmt); //内部都可以捕获 异常
close(conn);
//crud
}
public static void close(Object toClose){
//利用反射机制
Class theClass=toClose.getClass();//得到参数的类
try {
Method close = theClass.getMethod("close");//找到这个类叫colse的方法
close.invoke(toClose);//对某个对象做close方法
//规律 改变方法属性时要用方法确定这些方法属性从属于哪个对象
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
public static void close(Connection conn) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(Statement stmt) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(ResultSet rs) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
//总是要用到的代码 外面的也可以链接这个数据库
public static Connection getConnection() throws ClassNotFoundException, SQLException {
Connection conn;
Class.forName(driver);
String password="";
String url="jdbc:mysql://localhost:3306/chat?useUnicode=true&characterEncoding=UTF-8";
String user="root";
conn = DriverManager.getConnection(url,user,password);
return conn;
}
}
Bank
import java.lang.reflect.Field;
public class Bank {
private int money;
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
}
User
import java.lang.reflect.Field;
public class User {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bank bank = new Bank();
Class<? extends Bank> bankClass = bank.getClass();
Field money;
try {
money = bankClass.getDeclaredField("money");
money.setAccessible(true);//money原本是私有的 改变访问规则
money.setInt(bank, 100);//应该修改字段的对象
System.out.println(bank.getMoney());
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//反射字段 属性名
catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
jsp补-java数据库连接、java反射机制
标签:statement roo password cte java declared lan trace close
本文系统来源:https://www.cnblogs.com/leefree/p/12747374.html
内容总结
以上是互联网集市为您收集整理的jsp补-java数据库连接、java反射机制全部内容,希望文章能够帮你解决jsp补-java数据库连接、java反射机制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。