导航:首页 > 编程语言 > dbhelperjava

dbhelperjava

发布时间:2022-11-28 20:57:39

① 如何用Eclipse查询数据库表中的一行数据

java">比较简单的方法:
数据库连接:DBhelper.java
packagetest;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;

publicclassDBhelper{
//500
privateStatementstmt;//语句对象(发送SQL语句)
privateConnectionconn;//数据库连接
privateResultSetrs;

publicDBhelper(){//构造方法在创建对象的时候执行
try{
Stringurl="jdbc:mysql://localhost:3306/test";
Stringusername="root";
Stringpassword="admin";
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,username,password);//尝试连接成功得到连接
stmt=conn.createStatement();//创建语句对象
}catch(Exceptione){
e.printStackTrace();
}
}
//执行更新
//insertdeleteupdate
publicvoiddoUpdate(Stringsql){

try{
stmt.executeUpdate(sql);
}catch(Exceptione){
e.printStackTrace();
}
}

//执行查询
//select
publicResultSetdoQuery(Stringsql){

try{
rs=stmt.executeQuery(sql);
returnrs;
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}


publicvoidclose(){

try{
if(rs!=null)
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
try{
if(stmt!=null)
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
try{
if(conn!=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}

}

测试文件:test.java

在main方法中加入如下代码:

DBhelper db = new DBhelper();//操作数据库的帮助类
ResultSet rs = db.doQuery(" select * from student" );//rs:结果集
//想单独查询一行,可以在SQL语句后添加限制条件where id=
try {
//从resultSet里把数据取出来,放入表格里
while( rs.next() ){//取结果集里下一条数据
System.out.print(" "+rs.getString("id"));

System.out.print(" "+rs.getString("name"));

System.out.print(" "+rs.getString("password"));

}

} catch (SQLException e) {
e.printStackTrace();
}

② java解析dbf格式时里面数据类型怎么判断

使用JDBC-ODBC桥接方式读取Access文件,使用Acces
与DBF都需要配置桥接模式,在控制面板里,选择管理工具里配置

  • Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动

  • try{

  • //conn=DriverManager.getConnection(DB_URL);

  • conn=DriverManager.getConnection("jdbc:odbc:ss","test.dbf","");//无密码则空字符串

  • pstm=conn.prepareStatement("select*fromtest");//此处的XXB为DBF数据文件的名字

  • rs=pstm.executeQuery();



  • 至此,完美解决DBF数据库文件读取。网上的东西,太杂了,所以,我们要理智判断,取其精华,去其糟粕,为我所用。

    终于被我找到了!
    完全free的: com/ 这个网站主要是做数据库连接中间介的,其中用到了一个他们自己开发的叫做JDBF的项目,该项目就是专门控制dbf文件的,整个包只有30K大小,你们随便用个工具反编译一下就可以看懂里面的代码,很简单,就是按照具体格式处理文件!(注意,不是使用JDBC连接的。)
    不过我试了一下,发现只支持三中格式的:foxpro2.x、DBase IV、DBase III。
    大家用得着的话可以去那里下载! 有问题的话可以再来问我。

    我发现国外的这类开源网站很多,国内的就少得可怜了!唉!

    ③ 如何用Java实现把excel表中的数据导入到mysql数据库已有的表中

    package com.cn.gao;

    import java.util.List;

    public class FromExcelToDb {
    public static void main(String[] args) {
    //得到表格中所有的数据
    List<Stu> listExcel=StuService.getAllByExcel("d://book.xls");
    /*//得到数据库表中所有的数据
    List<Stu> listDb=StuService.getAllByDb();*/

    DBhelper db=new DBhelper();

    for (Stu stuEntity : listExcel) {
    int id=stuEntity.getId();
    if (!StuService.isExist(id)) {
    //不存在就添加
    String sql="insert into student (name,sex,num) values(?,?,?)";
    String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+""};
    db.AddU(sql, str);
    }else {
    //存在就更新
    String sql="update student set name=?,sex=?,num=? where id=?";
    String[] str=new String[]{stuEntity.getName(),stuEntity.getSex(),stuEntity.getNum()+"",id+""};
    db.AddU(sql, str);
    }
    }
    System.out.println("数据更新成功!");
    }
    }

    ④ DBHelper在Java中是干什么的,怎样应用

    看名字就是databasehelper,数据库助手的意思么,这本身就是一个类。
    包含了数据库连接,关闭,如果有拓展的话 可能包含基本的数据库JDBC操作方法也就是简化增删改查的一些方法。然后,就没有然后了。。。
    如果需要的话 网络搜索下就有了,很多改良版本看需求吧。
    一般说来 .NET里面才叫DBHelper,JAVA里面叫做BaseDao

    ⑤ JAVA数据库连接失败

    publicstaticvoidmain(String[]args){
    try
    {
    if(conn!=null)
    {
    System.out.println("数据库连接正常");
    }
    else
    {
    System.out.println("数据库连接异常");
    }
    }
    catch(Exceptionex)
    {
    ex.printStackTrace();
    }
    }

    这里conn没有初始化吧,

    Connection conn =newDBHelper ().getConnection();

    ⑥ java的DBHelper类有没有这样的功能

    public ResultSet getResultSet(String sql,Object[] object)
    {
    if(con==null)
    {
    this.getConnection();
    }
    try {
    pstmt=con.prepareStatement(sql);
    for(int i=0;i<object.length;i++)
    {
    pstmt.setObject(i+1, object[i]);
    }
    rs=pstmt.executeQuery();
    } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
    }
    return rs;
    }
    如果还有什么疑问.. 请网络Hi我.. 我会进一步的为你解答..

    ⑦ java是怎么连接mysql数据库的

    java连接mysql数据库的步骤如下:
    首先要下载mysql-connection-java-5.0.16-bin.jar这个jar包(版本不一致没关系),然后在工程中导入该库文件。
    然后写一个类(DBHelper)用来打开或关闭数据库:

    package com.hu.demo;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    public class DBHelper {
    public static final String url = "jdbc:mysql://127.0.0.1/student";
    public static final String name = "com.mysql.jdbc.Driver";
    public static final String user = "root";
    public static final String password = "root";
    public Connection conn = null;
    public PreparedStatement pst = null;
    public DBHelper(String sql) {
    try {
    Class.forName(name);//指定连接类型
    conn = DriverManager.getConnection(url, user, password);//获取连接
    pst = conn.prepareStatement(sql);//准备执行语句
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    public void close() {
    try {
    this.conn.close();
    this.pst.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    最后再写一个Demo类来执行相关查询操作:
    package com.hu.demo;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class Demo {
    static String sql = null;
    static DBHelper db1 = null;
    static ResultSet ret = null;
    public static void main(String[] args) {
    sql = "select *from stuinfo";//SQL语句
    db1 = new DBHelper(sql);//创建DBHelper对象
    try {
    ret = db1.pst.executeQuery();//执行语句,得到结果集
    while (ret.next()) {
    String uid = ret.getString(1);
    String ufname = ret.getString(2);
    String ulname = ret.getString(3);
    String udate = ret.getString(4);
    System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate );
    }//显示数据
    ret.close();
    db1.close();//关闭连接
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }

    这样就完成了mysql数据库的连接了。

    ⑧ java数据库增加数据,怎么在控制台输出表中的数据总数啊

    把String sql="select * from student" 这条语句代码换成
    String sql="select count(*) from student"就可以得到学生表所有记录数,
    然后在test方法里添加一个局部变量int rec=0;
    执行完sql语句后输出后用rec接收表的记录数
    接下来用 Object recontu = getObject(int columnIndex);
    然后把recountu转换成int类型并用rec接收,再调用System.out.println()进行输出

    android程序数据库问题... DBHelper helper = new DBHelper(this, DB_NAME, null, VERSION); 不懂啊

    这里用ContentProvider方法来定义数据库。。
    public class AlarmProvider extends ContentProvider //
    {

    private static final String DB_NAME = "Alarm.db"; //数据库名

    private static final int DB_VERSION = 1;//版本号,当程序第一次运行时,数据库被建立,如果
    //你更改了数据库,如增加一个表,这时,这个值一般要改一下,这样程序再次安装运行
    //时,数据库可自行升级。。如果不改通常要手动删除数据库。。

    private static final String ALARM_TABLE_NAME = "alarm"; //一个表名
    private static final int ALARM = 1; //与表对应的整数值,相当于id

    private static UriMatcher mUriMathcer; //Uri匹配器,建立uri,表名,id三者之间的关系,如下:

    static{
    mUriMathcer = new UriMatcher(UriMatcher.NO_MATCH);
    mUriMathcer.addURI(AlarmInfo.AUTH, "alarm", ALARM);
    }

    private interface CreateTableInterface //表创建接口
    {
    public abstract void createAlarmTable(SQLiteDatabase db);
    }
    //内部类,数据库助手类,并实现表创建接口
    private static class DatabaseHelper extends SQLiteOpenHelper implements CreateTableInterface
    {

    CreateTableInterface mCreateTableInterface = this;

    Context mContext = null;

    //构造函数,该函数调用后,数据库没有
    //创建。。也就是下面的onCreate不会在它调用后就立即调用创建db
    public DatabaseHelper(Context context)
    {

    super(context, DB_NAME, null, DB_VERSION);
    // Log.i(TAG, "DatabaseHelper be called!");
    mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) //这个方法只在第一次db连接创建db时调用,只一次
    {
    //create db table
    mCreateTableInterface.createAlarmTable(db);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) //db升级时调用
    {
    // Log.i(TAG, "onUpgrade() be called!");
    db.execSQL("DROP TABLE IF EXISTS "+ALARM_TABLE_NAME);
    onCreate(db);
    }

    @Override
    public void createAlarmTable(SQLiteDatabase db)
    {
    // 创建表
    db.execSQL("CREATE TABLE "+ALARM_TABLE_NAME+" ("
    +AlarmInfo._ID+" INTEGER PRIMARY KEY,"
    +AlarmInfo._LABEL+" TEXT NOT NULL,"
    +AlarmInfo._TIME+" TEXT NOT NULL,"
    +AlarmInfo._ALERT+" TEXT NOT NULL,"
    +AlarmInfo._REPEAT+" TEXT NOT NULL,"
    +AlarmInfo._ACTIVE+" TEXT NOT NULL"
    +");");
    //在表中插入一些数据。。。
    db.execSQL("INSERT INTO "+ALARM_TABLE_NAME+"("+AlarmInfo._LABEL+","
    +AlarmInfo._TIME+","+AlarmInfo._ALERT+","
    +AlarmInfo._REPEAT+","+AlarmInfo._ACTIVE+
    ") VALUES('Lunch Alarm','11 : 45 AM','"+Tag.TONE+"','"+Tag.EVERY_DAY+"','false');");

    db.execSQL("INSERT INTO "+ALARM_TABLE_NAME+"("+AlarmInfo._LABEL+","
    +AlarmInfo._TIME+","+AlarmInfo._ALERT+","
    +AlarmInfo._REPEAT+","+AlarmInfo._ACTIVE
    +") VALUES('Work Alarm','08 : 45 AM','"+Tag.TONE+"',"+"'Mon,Tue,Wed,Thu,Fri'"
    +",'false');");

    db.execSQL("INSERT INTO "+ALARM_TABLE_NAME+"("+AlarmInfo._LABEL+","
    +AlarmInfo._TIME+","+AlarmInfo._ALERT+","+AlarmInfo._REPEAT+","
    +AlarmInfo._ACTIVE
    +") VALUES('Work Alarm','09 : 00 AM','"+Tag.TONE+"',"
    +"'"+Tag.WEEKENDS+"','false');");
    db.execSQL("INSERT INTO "+ALARM_TABLE_NAME+"("+AlarmInfo._LABEL+","
    +AlarmInfo._TIME+","+AlarmInfo._ALERT+","+AlarmInfo._REPEAT+","
    +AlarmInfo._ACTIVE
    +") VALUES('Yoga','10 : 15 PM','"+Tag.TONE+"',"+"'Sun,Wed','false');");
    }
    }
    }

    private DatabaseHelper mDatabaseHelper; //定义helper

    //以下重写insert,delete,update,query等方法
    @Override
    public synchronized int delete(Uri uri, String selection, String[] selectionArgs)
    {
    SQLiteDatabase db = null;
    boolean success = false;
    int count = 0;
    try{
    db = mDatabaseHelper.getWritableDatabase();
    db.acquireReference();
    success = true;
    switch(mUriMathcer.match(uri)){
    case ALARM:
    count = db.delete(ALARM_TABLE_NAME, selection, selectionArgs);
    break;
    }
    }catch(SQLException e){
    e.printStackTrace();
    }finally{
    if(success == true){
    db.releaseReference();
    }
    }

    return count;
    }

    @Override
    public String getType(Uri uri)
    {
    switch(mUriMathcer.match(uri)){
    case ALARM:
    return AlarmInfo.CONTENT_TYPE;
    default:
    throw new IllegalArgumentException("Unknown URI " + uri);
    }
    }

    @Override
    public synchronized Uri insert(Uri uri, ContentValues initValues)
    {
    SQLiteDatabase mSQLiteDatabase = null;
    boolean success = false;
    try{
    mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
    mSQLiteDatabase.acquireReference();
    success = true;
    long mRowId;
    ContentValues values;
    if(initValues == null){
    values = new ContentValues();
    }else{
    values = initValues;
    }
    switch(mUriMathcer.match(uri)){
    case ALARM:
    mRowId = mSQLiteDatabase.insert(ALARM_TABLE_NAME,
    AlarmInfo._ID, values);
    if(mRowId > 0){
    return uri;
    }else{
    throw new SQLException("Failed to insert to "+uri);
    }
    }

    }catch(SQLException e){
    e.printStackTrace();
    }finally{
    if(success == true)
    mSQLiteDatabase.releaseReference();
    }
    return null;
    }

    @Override
    public boolean onCreate()
    {
    // Log.i("alarm provider", "onCreate()...");
    mDatabaseHelper = new DatabaseHelper(getContext());
    return true;
    }

    @Override
    public synchronized Cursor query(Uri uri, String[] projection, String selection,
    String[] selectionArgs, String sortOrder)
    {
    SQLiteQueryBuilder mSQLiteQueryBuilder = new SQLiteQueryBuilder();
    switch(mUriMathcer.match(uri)){
    case ALARM:
    mSQLiteQueryBuilder.setTables(ALARM_TABLE_NAME);
    break;
    }
    SQLiteDatabase mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
    mSQLiteDatabase.acquireReference();

    Cursor mCursor = mSQLiteQueryBuilder.query(mSQLiteDatabase, projection,
    selection, selectionArgs, null, null, sortOrder);
    mSQLiteDatabase.releaseReference();
    return mCursor;
    }

    @Override
    public synchronized int update(Uri uri, ContentValues values, String selection,
    String[] selectionArgs)
    {
    SQLiteDatabase mSQLiteDatabase = null;
    int count = 0;
    boolean success = false;
    try{
    mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();
    mSQLiteDatabase.acquireReference();
    success = true;
    switch(mUriMathcer.match(uri)){
    case ALARM:
    count = mSQLiteDatabase.update(ALARM_TABLE_NAME, values,
    selection, selectionArgs);
    break;

    default:
    break;
    }

    }catch(SQLException e){
    e.printStackTrace();
    }finally{
    if(success == true)
    mSQLiteDatabase.releaseReference();
    }
    return count;
    }

    }
    可以参考android alarm源码,query,update等方法写法基本不改什么,只替换表名。或增加一个case.

    ⑩ java登录模块验证出现问题求解答

    前期准备
    首先要先明确有个大体的思路,要实现什么样的功能,了解完成整个模块要运用到哪些方面的知识,以及从做的过程中去发现自己的不足。技术方面的进步大都都需要从实践中出来的。
    功能:用户注册功能+系统登录功能+生成验证码
    知识:窗体设计、数据库设计、JavaBean封装属性、JDBC实现对数据库的连接、验证码(包括彩色验证码)生成技术,还有就些比如像使用正则表达式校验用户注册信息、随机获得字符串、对文本可用字符数的控制等
    设计的模块预览图:

    使用BoxLayout布局,将控件排列方式设置从上至下:

    复制代码代码如下:

    contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.PAGE_AXIS));

    窗体使用了标签、文本域、密码域和按钮等控件
    实现代码:

    public class login extends JFrame{
    private static final long serialVersionUID = -4655235896173916415L;
    private JPanel contentPane;
    private JTextField usernameTextField;
    private JPasswordField passwordField;
    private JTextField validateTextField;
    private String randomText;
    public static void main(String args[]){
    try {
    UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
    } catch (Throwable e) {
    e.printStackTrace();
    }
    EventQueue.invokeLater(new Runnable(){
    public void run(){
    try{
    login frame=new login();
    frame.setVisible(true);
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    });

    }
    public login(){
    setTitle("系统登录");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    contentPane=new JPanel();
    setContentPane(contentPane);
    contentPane.setLayout(new BoxLayout(contentPane,BoxLayout.PAGE_AXIS));

    JPanel usernamePanel=new JPanel();
    contentPane.add(usernamePanel);

    JLabel usernameLable=new JLabel("u7528u6237u540DuFF1A");
    usernameLable.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    usernamePanel.add(usernameLable);

    usernameTextField=new JTextField();
    usernameTextField.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    usernamePanel.add(usernameTextField);
    usernameTextField.setColumns(10);

    JPanel passwordPanel = new JPanel();
    contentPane.add(passwordPanel);
    JLabel passwordLabel = new JLabel("u5BC6 u7801uFF1A");
    passwordLabel.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    passwordPanel.add(passwordLabel);
    passwordField = new JPasswordField();
    passwordField.setColumns(10);
    passwordField.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    passwordPanel.add(passwordField);
    JPanel validatePanel = new JPanel();
    contentPane.add(validatePanel);
    JLabel validateLabel = new JLabel("u9A8Cu8BC1u7801uFF1A");
    validateLabel.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    validatePanel.add(validateLabel);
    validateTextField = new JTextField();
    validateTextField.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    validatePanel.add(validateTextField);
    validateTextField.setColumns(5);
    randomText = RandomStringUtils.randomAlphanumeric(4);
    CAPTCHALabel label = new CAPTCHALabel(randomText);//随机验证码
    label.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    validatePanel.add(label);

    JPanel buttonPanel=new JPanel();
    contentPane.add(buttonPanel);

    JButton submitButton=new JButton("登录");
    submitButton.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    do_submitButton_actionPerformed(e);
    }
    });
    submitButton.setFont(new Font("微软雅黑", Font.PLAIN, 15));
    buttonPanel.add(submitButton);

    JButton cancelButton=new JButton("退出");
    cancelButton.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    do_cancelButton_actionPerformed(e);
    }
    });
    cancelButton.setFont(new Font("微软雅黑",Font.PLAIN,15));
    buttonPanel.add(cancelButton);

    pack();// 自动调整窗体大小
    setLocation(com.lixiyu.util.SwingUtil.centreContainer(getSize()));// 让窗体居中显示

    }

    窗体居中显示:

    public class SwingUtil {
    /*
    * 根据容器的大小,计算居中显示时左上角坐标
    *
    * @return 容器左上角坐标
    */
    public static Point centreContainer(Dimension size) {
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();// 获得屏幕大小
    int x = (screenSize.width - size.width) / 2;// 计算左上角的x坐标
    int y = (screenSize.height - size.height) / 2;// 计算左上角的y坐标
    return new Point(x, y);// 返回左上角坐标
    }
    }

    1.2获取及绘制验证码

    public class CAPTCHALabel extends JLabel {
    private static final long serialVersionUID = -963570191302793615L;
    private String text;// 用于保存生成验证图片的字符串
    public CAPTCHALabel(String text) {
    this.text = text;
    setPreferredSize(new Dimension(60, 36));// 设置标签的大小
    }
    @Override
    public void paint(Graphics g) {
    super.paint(g);// 调用父类的构造方法
    g.setFont(new Font("微软雅黑", Font.PLAIN, 16));// 设置字体
    g.drawString(text, 5, 25);// 绘制字符串
    }
    }

    *彩色验证码:

    public class ColorfulCAPTCHALabel extends JLabel {
    private static final long serialVersionUID = -963570191302793615L;
    private String text;// 用于保存生成验证图片的字符串
    private Color[] colors = { Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY, Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE,
    Color.PINK, Color.RED, Color.WHITE, Color.YELLOW };// 定义画笔颜色数组
    public ColorfulCAPTCHALabel(String text) {
    this.text = text;
    setPreferredSize(new Dimension(60, 36));// 设置标签的大小
    }
    @Override
    public void paint(Graphics g) {
    super.paint(g);// 调用父类的构造方法
    g.setFont(new Font("微软雅黑", Font.PLAIN, 16));// 设置字体
    for (int i = 0; i < text.length(); i++) {
    g.setColor(colors[RandomUtils.nextInt(colors.length)]);
    g.drawString("" + text.charAt(i), 5 + i * 13, 25);// 绘制字符串
    }
    }
    }

    1

    阅读全文

    与dbhelperjava相关的资料

    热点内容
    程序员装机必备的软件 浏览:9
    php微信第三方登录demo 浏览:536
    上海php工具开发源码交付 浏览:790
    哪里有求购黄页的源码 浏览:194
    商城矿机源码矿场系统 浏览:195
    单片机的led灯熄灭程序 浏览:222
    洛阳python培训 浏览:702
    小键盘命令 浏览:192
    单片机c语言返回主程序 浏览:816
    dockerpythonweb 浏览:970
    程序员算法有多强 浏览:717
    pythonworkbook模块 浏览:245
    什么app能查医生 浏览:175
    轻量级的编程语言 浏览:338
    程序员那么可爱生孩子 浏览:432
    后缀him3加密文件是什么软件 浏览:986
    坚果隐藏app为什么要140版本才能用 浏览:313
    淘宝dns服务器地址 浏览:259
    领英转型app哪个好用 浏览:943
    压缩软件的图标 浏览:97