Java JDBC соединение и использование
JDBC
Импортные драйверы
// JAR - это набор файлов упакованного класса, на который можно ссылаться на другие проекты
// Импорт внешних банок в путь сборки
Подключитесь к JDBC
1. Загрузите драйвер
Class.from ("com.mysql.jdbc.driver");Создать соединение
// Пакет Guide использует java.sql.*; String jdbc = "jdbc: mysql: // localhost: 3306/student? User = root & password = & hareverencoding = utf-8"; // Студент-это имя таблицы Connect Conn = DriverManager.getConnection (jdbc);
2. Обратите внимание, что после открытия базы данных, не забудьте закрыть ее.
conn.close ();
1. Выполнить операторы SQL (создайте таблицы, вставить, удалить, обновить)
Используя Статут
Стейтман st = conn.createStatemant (); int row = st.executeupdate (оператор SQL); // Невозможно выполнять операции запроса.
Использование Preparestatement
Можно ли использовать? Заполнители для замены параметров, которые вам необходимы для прохождения
String sql = "вставьте в" + tableName + "(имя, субъект, оценка) значения (?,?,?)"; PrepareStatement pt = conn.prepareStatement (sql); // Установить значение для каждого заполнителя, а индекс начинается с 1 pt.setString (1, scord.getName ()); pt.setString (2.score.getSubject ()); Pt.SetDouble (3, scord.getScore ()); // Использование метода без параметров pt.executeUpdate ();
1. Операция запроса
Статический список <scall> QueryScore (Connection pconn, оценка pscore) Throws SQLexception {ArrayList <COSCOL> MLIST = новый ArrayList <> (); String sql = "select * from" + tableName + "где имя =?"; Подготовка PS = PCONN.PREARESTATEMENT (SQL); Ps.setString (1, pscore.getName ()); ResultSet rs = ps.executequery (); while (rs.next ()) {// Здесь вы можете получить все результаты через rs string subject = rs.getstring ("subject"); int id = rs.getint ("id"); Double Score = rs.getDouble («Оценка»); mlist.add (новый счет (id, pscore.getName (), субъект, оценка)); } return mlist; }Вот небольшая программа
// Создать класс подключения к базе данных открытый класс DAO {// Спросите адрес ссылки базы данных Статическая строка jdbc = "jdbc: mysql: // localhost: 3306/sturny? User = root & password = & farmentencoding = utf-8"; // Откройте ссылку Public Static Connection Connection () {// Шаги на использование JDBC // 1. Загрузите драйвер JDBC Try {// полное имя класса + имени класса Class.forname ("com.mysql.jdbc.driver"); // 2. Подключиться к подключению базы данных conn = DriverManager.getConnection (jdbc); вернуть Конн; } catch (Exception e) {System.out.println ("Загрузка драйвера не удалась"); вернуть ноль; }}} // Оценка класса класса открытого класса {string name; String ID; Строка субъекта; двойной счет; Public Score (String name, String Supty, Double Score) {super (); this.name = name; this.subject = субъект; this.score = оценка; } @Override public String toString () {return "Score [name =" + name + ", id =" + id + ", subject =" + subject + ", score =" + score + "]"; } public Score (имя строки, идентификатор строки, субъект строки, двойная оценка) {super (); this.name = name; this.id = id; this.subject = субъект; this.score = оценка; } public String getName () {return name; } public void setName (string name) {this.name = name; } public String getId () {return id; } public void setId (String id) {this.id = id; } public String getSubject () {return toot; } public void setSubject (строка субъекта) {this.subject = subject; } public Double GetScore () {return Score; } public void setScore (двойная оценка) {this.Score = scord; }} // Класс реализации Общедоступный тест класса {public Static String TableName = "SCORE"; public static void main (string [] args) {try {connection conn = dao.connection (); if (conn! = null) {System.out.println ("Linked"); // createletable (conn); // вставить запись // оценка = новый счет ("li si", "Android", 98); // System.out.println (AddScore2 (conn, оценка)); // deleteCore (conn, счет); // updatescore (conn, счет); List <sall> list = queryscorebyname (conn, "wang wu"); // QueryallScore (conn); для (оценка: список) {System.out.println (оценка); } conn.close (); } else {System.out.println ("Ссылка не удалась"); }} catch (sqlexception e) {e.printstacktrace (); }} // Создать таблицу Public Static Boolean Createable (Connection Conn) {// Начнем выполнять строку оператора SQL SQL = "Create Table" + TableName + "(ID Integer Primary Key Auto_Increment, имя varchar (3) не null, субъект Varchar (20) не null, балл двойной)"; // Чтобы выполнить оператор, выполняемый класс должен выполнить оператор try {оператор st = conn.createStatement (); int result = st.executeupdate (sql); System.out.println (результат); if (result! = -1) вернуть true; } catch (sqlexception e) {e.printstacktrace (); } вернуть false; } // Добавить запись общедоступной статической статической логической адд. System.out.println (SQL); Оператор ST = conn.createStatement (); int row = st.executeupdate (sql); if (row> 0) вернуть true; вернуть ложь; } // Добавить запись 2 public static boolean AddScore2 (Connection Conn, оценка оценки) Throws SQLexception {// Заполнитель? Чтобы заменить параметр, который необходимо установить string sql = "Вставка в" + tableName + "(имя, субъект, оценка) значения (?,?,?)"; Подготовка PS = CONN.PREARESTATEMENT (SQL); // должно быть дано? Значение, представленное Ps.setString (1, scord.getName ()); Ps.setString (2, score.getSubject ()); Ps.SetDouble (3, scord.getScore ()); // вызовать метод без параметров int row = ps.executeupdate (); if (row> 0) вернуть true; вернуть ложь; } public static boolean deleteScore (connect conn, оценка оценки) Throws SQLexception {String SQL = "DELETE" + TABLENAME + "где имя =? и субъект =?"; // Создать PreparEStatement подготовку PS = Conn.PrepRestatement (SQL); Ps.setString (1, score.getName ()); Ps.setString (2, score.getSubject ()); // ps.setDouble (3, scord.getScore ()); // выполнить int row = ps.executeupdate (); System.out.println (row); if (row> 0) вернуть true; вернуть ложь; } public Static Boolean UpdatesCore (Connect Conn, оценка оценки) Throws SQLexception {// Изменить оценку для своих субъектов String SQL = "Обновление" + TableName + "SET SCORE =? где имя =? и субъект =?"; Подготовка PS = CONN.PREARESTATEMENT (SQL); ps.setDouble (1, scord.getScore ()); Ps.setString (2, score.getName ()); Ps.setString (3, scord.getSubject ()); int row = ps.executeupdate (); System.out.println (row); if (row> 0) вернуть true; вернуть ложь; } public Static List <COLLE> QUERYALLSCORE (Connection Conn) Throws SQLexception {String SQL = "select * from" + tableName; // Запуск оператора запроса st = conn.createStatement (); ResultSet RS = St.exeCuteQuery (SQL); List <COLCK> LIST = новый ArrayList <scall> (); while (rs.next ()) {// Здесь вы можете получить все результаты через rs string id = rs.getstring ("id"); String name = rs.getString ("name"); Строка субъекта = rs.getString ("субъект"); Double Score = rs.getDouble («Оценка»); list.add (новый счет (имя, ID, субъект, оценка)); } // Конец списка возврата; } public Static List <sall> QueryScoreByName (Connection Conn, String name) Throws SQLexception {String SQL = "select * from" + tableName + "где имя =?"; Подготовленное Statatement pt = conn.prepareStatement (SQL); Pt.setString (1, имя); ResultSet rs = pt.executeQuery (); List <COLP> LIST = новый ArrayList <> (); while (rs.next ()) {string subject = rs.getString ("subject"); String id = rs.getString ("id"); Double Score = rs.getDouble («Оценка»); list.add (новый счет (имя, ID, субъект, оценка)); } return List; }