登陆模块升级版本之模板方法篇
来源:互联网 发布:php读取数据库乱码 编辑:程序博客网 时间:2024/05/17 06:53
//模板
package cn.bless_remind;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
public abstract class TempleteDemo
{
Connection connection;
PreparedStatement statement;
ResultSet result;
public abstract void doExecute(String name,String password);
public Connection getConnection()
{
// ReadProperties read = new ReadProperties();
try
{
System.out.println("正在连接……");
Class.forName("com.mysql.jdbc.Driver");
// connection = (Connection) DriverManager.getConnection(
// read.getName(),
// read.getPassword()
// );
// System.out.println("url is: "+read.getUrl());
// System.out.println("name is: "+read.getName());
// System.out.println("password is: "+read.getPassword());
connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/itcast","root","");
System.out.println("连接成功!");
} catch (ClassNotFoundException e)
{
e.printStackTrace();
} catch (SQLException e)
{
e.printStackTrace();
}
return connection;
}
public void closeConnection()
{
if(connection!=null)
{
try
{
connection.close();
System.out.println("已关闭连接");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public void closeStatement()
{
if(statement!=null)
{
try
{
statement.close();
System.out.println("已关声明!");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
public void closeResult()
{
if(result!=null)
{
try
{
result.close();
System.out.println("已关闭结果集!");
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
//读取配置文件
package cn.bless_remind;
import java.io.FileInputStream;
import java.util.Properties;
public class ReadProperties
{
String url;
String name;
String password;
Properties properties = new Properties();
FileInputStream input;
public ReadProperties()
{
try
{
input = new FileInputStream("c:/a.properties");
properties.load(input);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public String getUrl()
{
url = properties.getProperty("url");
return url;
}
public String getName()
{
name = properties.getProperty("name");
return name;
}
public String getPassword()
{
password = properties.getProperty("password");
return password;
}
}
//properties文件
url=jdbc:mysql://localhost/itcast
name=root
password=
//登陆模块
package cn.bless_remind;
import java.sql.SQLException;
import com.mysql.jdbc.PreparedStatement;
import com.mysql.jdbc.ResultSet;
public class Login extends TempleteDemo
{
public void doExecute(String name,String password)
{
try
{
//connection = getConnection();
statement = (PreparedStatement)connection.prepareStatement("select * from student where name=? and password=? ");
statement.setString(1,name);
statement.setString(2,password);
ResultSet result = (ResultSet) statement.executeQuery();
if(result.next())
{
System.out.println("正在登陆……");
System.out.println("登陆成功!");
}
else
{
System.out.print("登陆失败!");
}
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
总结:相对以前的登陆模块,现在的登陆模块实现了业务逻辑和数据逻辑的分离,并在相当大程度上降低了程序的耦合性,有利于程序的模块化以及移植
- 登陆模块升级版本之模板方法篇
- 登陆模块升级版本之模板方法篇
- Ubuntu版本升级方法
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty4版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Netty版本升级血泪史之线程篇
- Mac OSX 升级python six模块版本
- Fedora版本升级通用方法
- Fedora版本升级通用方法
- OpenStack版本升级之Keystone
- OpenStack版本升级之Swift
- Nutch 初体验(zz)
- 心理高度决定你的成功率
- Torque 用作数据库连接池
- 2006-10-26 2006-10-27
- UML简介
- 登陆模块升级版本之模板方法篇
- 密码格式被刷新的问题解决
- 判断中英文结合的字段串长度的小函数
- 硬盘引导安装linux系统
- 数据库知识
- 第一篇文章
- pl/sql编程之循环操作
- [-记忆训练-] 按顺序背诵三十六计
- ASP.NET DataGrid 全选