import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
public class Conn {
private static Connection conn = null
private static Statement st = null
private static ResultSet rs = null
//建立数据库的连接
public Conn(){
String url = "jdbc:sqlserver://localhost:1433databaseName=ZYGX"
String user = "sa"
String password = "123"
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
conn = DriverManager.getConnection(url, user, password)
st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)
} catch (ClassNotFoundException e) {
e.printStackTrace()
} catch (SQLException e) {
e.printStackTrace()
}
}
// 通过不同 的sql语句,得到相应Resultset结果集
public ResultSet getRs(String sql){
try{
rs= st.executeQuery(sql)
}catch(SQLException e){
e.printStackTrace()
}
return rs
}
// 根据不同的sql语句,执行数据库的更新 *** 作
public int updata(String sql){
int num=0
try{
num = st.executeUpdate(sql)
}catch(SQLException e){
e.printStackTrace()
}
return num
}
// 关闭数据库连接相应的资源
public void close(){
try{
if(rs!=null){
rs.close()
rs = null
}
if(st!=null){
st.close()
st = null
}
if(conn!=null){
conn.close()
conn = null
}
}catch(SQLException e){
e.printStackTrace()
}
}
}
----------------------------------------------------------------------
//可以对button里添加动作按钮:
final JButton button = new JButton()
button.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
Conn conn =new Conn()
String sql1="select * from aa where name='"+name+"' "//按name值查找
ResultSet rs = conn.getRs(sql1)
try {
while(rs.next()){
int n=rs.getString("type")
}
} catch (SQLException e) {
e.printStackTrace()
}
String name=textField.getText()
String sql="update aa set tittle='"+name+"' "//从aa表将title字段的值改成textField里的name值
String sql2 ="delete from aa where name='"+name+"'"//从aa表将按取得name的值删除该行数据
String sql3 = "insert into aa (name,uname) values ('"+name+"','"')"//将name,uname值新增到aa表
if(conn.update(sql)==1){
System.out.print("修改成功")
}
if(conn.update(sql2)==1){
System.out.print("删除成功")
}
if(conn.update(sql3)==1){
System.out.print("新增成功")
}
}
})
说一个大概思路吧:1.读取数据:从数据库中读取数据的同时,拿到元数据,即metadata
2.实例化:通过类名,利用反射 实例你的实体类(类名可以和表名保持一致,这样就不用写额外的
映射了),如果你只是想通过反射赋值的话,你也可以直接new个类;
3.方法调用:通过元数据,利用反射 得到你的set方法(方法名可以和字段名保持一致,否则你要写
出映射关系);
一般来说只要修改hibernate.cfg.xml 然后加入mysql-connector-java-5.0.7-bin.jar就好了 要是你的代码里有原生sql等和具体数据库相关的特征的话 那就要修改代码了- <session-factory>
- <!-- Database connection settings
-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/数据库名?useUnicode=true</property>
<property name="connection.username">账号</property>
<property name="connection.password">密码</property>
- <!-- JDBC connection pool (use the built-in)
-->
<property name="connection.pool_size">1</property>
- <!-- SQL dialect
-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
- <!-- Enable Hibernate's automatic session context management
-->
<property name="current_session_context_class">thread</property>
- <!-- Disable the second-level cache
-->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
- <!-- Echo all executed SQL to stdout
-->
<property name="show_sql">true</property>
<mapping class="实体类" />
</session-factory>
</hibernate-configuration>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)