这一段时间学习JAVA的回顾总结1

首先是关于近日做的JDBC方面的东西
关于连接数据库,首先我们要创建一个DBConnection的类用于连接

package database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Created by Chen Meiji on 2015/11/28.
 */
public class DBConnection {

    /** 数据库地址 jdbc:mysql://[ip]:[port]/[name] */
    private static final String URL = "jdbc:mysql://localhost:3306/xue_xiao";

    /** 用户名 */
    private static final String USERNAME = "root";

    /** 密码 */
    private static final String PASSWORD = "dz6106232";

    /** 驱动器类 */
    private static final String DRIVER = "com.mysql.jdbc.Driver";

    //注册驱动器类
    static {
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取数据库连接
     * @return Connection
     * @throws SQLException
     */
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USERNAME, PASSWORD);
    }

    /**
     * 关闭相关资源
     * @param connection 连接
     * @param statement 陈述
     * @param resultSet 结果集
     */
    public static void close(Connection connection, Statement statement, ResultSet resultSet) {
        try {
            if(connection != null) {
                connection.close();
            }
            if(statement != null) {
                statement.close();
            }
            if(resultSet != null) {
                resultSet.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 关闭相关资源 重载
     * @param connection 连接
     * @param statement 陈述
     */
    public static void close(Connection connection, Statement statement) {
        close(connection, statement, null);
    }


    public static void main(String[] args) throws SQLException {
        Connection connection = DBConnection.getConnection();
        System.out.println(connection);
    }

}
这个类要注意URL的格式
jdbc:mysql//localhost:3306:/xue_xiao;
驱动器
 com.mysql.jdbc.Driver;
 关于这些都要定义为常量
 即:public static fianl String
 然后是注册驱动器
 这里主要用到静态代码块和映射
 Class.forName(Driver)
classNOFoundException e 
然后是连接数据库
静态的返回类型为Connection 用过getconnection()但是要注意数据库异常的抛出
通过DriverManager.getconnection(URL,USERNAME,PASSWORD)来实现连接
连接后就是关于异常的后腰关闭相关链接的处理
然后关闭相关资源的重载
然后再main函数中启动
Connection connection=DBConnection.getConnection();
System.out.println(connection);
然后进行的就是属性的封装
然后就是DAO来实现数据库的增删改查
首先肯定先要连接上数据库
private Connection connection;
构public UserDAO(Connection connection){
this.connection=connection
try{
connection.setAutoCommit(true);
}
catch(SQLException e){
e.printStackTrace();}
}
然后就是一些相关的简单的SQL语句
INSERT INTO user(属性) valuses=(?,?,?)
DELETE FROM users WHERE id=?
SELECT FORM users WHERE name=?
UPDATE users set name WHERE id=?
这里主要要注意的是除了查找statement.excuteQuery
Query既是查询
statement.excuteUpdate
然后是关于main函数中对于方法的调用通过构造方法
UserDAO userDAO=new UserDAO(DBConnection.getConnection());
然后是这次关于外键的设置,在Navicat里面无法进行更改外键的约束应该是由于安全级别的问题,然后可以在MYSQL中通过以下的联级关联
alter table (表名) add constriant FK_ID foreign key(你的外键的字段名)REFERENCES (外表表名)(字段名)
alter talbe userfriends add constriand FK_ID foreign key(userID) REFERENCES user(userID)
on delete CASCADE 
on update CASCADE;
删除外键
alter table (name) DROP FOREIGN KEY FK-ID;
查看外键
show create table (tablename);
CASCADE
RESTRICT
SET NULL
NO ACTION
在设置外键的时候两字段名都要是主键,通过外键的设置就能实现1对多的管理。
接下来是关于这次笔记本的一些总结
这次使用的是HashMap来通过他的put,remove,get来实现增删改查
要使用它当然要new一个实例对象
HashMap<String,String> map=new HashMap()由于他是<key,value>所有要用到泛型进行约束
中间的操作我们可以通过Scanner来实现
开始的时候我用的<int,String>然后报错,因为超过了int的范围,用String就可以实现
这里涉及到HashMap的遍历我们可以通过
Set<String> keys=map.keySet();
for(String k:keys);
来实现遍历这里的k对应的就是键,通过map.get(k)来得到值;
关于查找的时候我们通过遍历然后equals方法进行判断改对象是否存在。
说到这里有HashMap有contains方法可以进行判断key,value的存在。
说到HashMap就不到不谈到ArrayList



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值