Я считаю, что все знакомы с JDBC. Пока вы являетесь Java Person, вы должны научиться такой вещи, когда впервые вступаете в контакт с J2EE. Кто сказал, что программы должны иметь дело с базами данных? JDBC является очень базовым знанием для работы с базами данных, а также относительно близок к базовому уровню. В реальной работе люди используют более зрелые рамки, такие как Hibernate и Mybatis.
Однако, как базовый JDBC этих зрелых рамок, мы также должны овладеть его. Только понимая добавление, удаление, модификацию и запрос JDBC, мы можем лучше понять, как эти зрелые рамки реализуют добавление, удаление, модификацию и запрос, когда они заинтересованы в изучении исходного кода Hibernate или Mybatis в будущем.
Возвращаясь к теме, давайте посмотрим на нашу среду разработки:
Язык Java, инструменты разработки Eclipse, база данных MySQL, инструменты визуализации базы данных NAVICAT.
Пожалуйста, проверьте информацию самостоятельно для установки, строительства и использования среды разработки (очень просто), и здесь не будет подробно объяснено.
Первым шагом является создание базы данных, используйте инструмент визуализации базы данных NAVICAT для создания базы данных, создать таблицу в базе данных, дать несколько полей в таблице (не забудьте дать поле для идентификатора, уникальный первичный ключ, последовательность самостоятельного введения), а затем дать две части данных по желанию, чтобы проверить функцию, как показано на рисунке.
Второй шаг - открыть базу данных (я надеюсь, что каждый сможет нажать на этот пример самостоятельно, что не займет много времени. Будьте знакомы с тем, как JDBC имеет дело с базой данных, поэтому я покажу это на рисунке). Как показано на рисунке:
Третий шаг состоит в том, чтобы преобразовать класс dbutil, чтобы облегчить получение подключений базы данных на слое DAO. Код заключается в следующем:
пакет com.czgo.db; import java.sql.connection; import java.sql.drivermanager; импорт java.sql.sqlexception; открытый класс dbutil {private Static final String url = "jdbc: mysql: //127.0.0.1: 3306/imoc"; частная статическая конечная строка uname = "root"; частная статическая конечная строка pwd = "root"; частное статическое соединение conn = null; static {try {// 1. Загрузить драйвер class.forname ("com.mysql.jdbc.driver"); // 2. Получить соединение с базой данных conn = DriverManager.getConnection (URL, Uname, Pwd); } catch (classnotfoundexception e) {e.printstacktrace (); } catch (sqlexception e) {e.printstacktrace (); }} public Static Connection getConnection () {return conn; }} Шаг 4: Создайте классы объектов (как показано на рисунке выше, каждый наблюдает за распределением пакетов. Мы будем использовать идею MVC для разработки этого примера. Есть идеи дизайна о MVC, пожалуйста, узнайте это самостоятельно, я не скажу здесь много), код следующим образом:
пакет com.czgo.model; импортировать java.io.serializable;/** * Класс сущности: Класс богини * * @author alanlee * */public Class Богиня реализует сериализуемые {частный конечный долгосрочный сериал = 1L; / *** Уникальный первичный ключ*/ private integer id; / *** Имя*/ private String name; / *** Номер мобильного телефона*/ private String Mobie; / *** Электронная почта*/ private String Электронная почта; / *** Домашний адрес*/ private String Adder; public integer getId () {return id; } public void setId (Integer id) {this.id = id; } public String getName () {return name; } public void setName (string name) {this.name = name; } public String getMobie () {return mobie; } public void setMobie (String mobie) {this.mobie = mobie; } public String getEmail () {return Email; } public void setEmail (string email) {this.email = email; } public String getAddress () {return Adder; } public void setAddress (строковый адрес) {this.address = address; }} Шаг 5, Внедрение уровня DAO (здесь, поскольку это небольшой пример, нет никакого письменного интерфейса для крупных проектов в реальной работе, что удобно для технического обслуживания и расширения программ). Код заключается в следующем:
пакет com.czgo.dao; импорт java.sql.connection; импорт java.sql.preparedStatement; import java.sql.resultset; импорт java.sql.sqlexception; import java.util.arraylist; import java.ut.list; import com.czgo.db.dbullist; import java.ut.list; импорт. com.czgo.model.goddess;/** * Класс обработки слоя данных * * @author alanlee * */public class Goddessdao {/** * Запрос всех богинь * * @return * @throws sqlexection */public <Goddess> Query () Throws Sqlexpresscept // Получить подключение к подключению базы данных conn = dbutil.getConnection (); StringBuilder SB = new StringBuilder (); SB.Append («Выберите идентификатор, имя, моби, электронная почта, адрес от богини»); // управлять базой данных через подключение к базе данных, чтобы реализовать добавление, удаление, модификацию и поиск подготовки PTMT = conn.PrePareStatement (SB.ToString ()); ResultSet rs = ptmt.executequery (); Богиня Богиня = Нуль; while (rs.next ()) {богиня = новая богиня (); Goddess.setid (rs.getint ("id")); Goddess.SetName (Rs.GetString ("имя")); Goddess.setmobie (Rs.getString ("Mobie")); Goddess.SetEmail (Rs.GetString ("Email")); Goddess.setAddress (Rs.GetString («адрес»)); Goddess.setAddress (Rs.GetString («адрес»)); Goddesslist.Add (Богиня); } вернуть GoddessList; } / ** * Запросить одиночную богиню * * @return * @Throws SQLexception * / public Goddess QueryById (целое число) Throws SQLexception {Богиня G = null; Соединение conn = dbutil.getConnection (); String sql = "" + "select * from imooc_goddess" + "где id =?"; Подготовленное Statatement ptmt = conn.prepareStatement (SQL); ptmt.setint (1, id); ResultSet rs = ptmt.executequery (); while (rs.next ()) {g = новая богиня (); g.setid (rs.getint ("id")); g.setname (rs.getString ("name")); g.setmobie (rs.getstring ("mobie")); g.setemail (rs.getstring ("email")); g.setAddress (rs.getString ("адрес")); } return g; } / ** * Добавить богиню * * @Throws SQLexception * / public void AddGoddess (Богиня Богиня) Throws SQLEXCEPTION {// Получить соединение базы данных Connect = dbutil.getConnection (); String sql = "вставьте в богиню (имя, моби, электронная почта, адрес) значения (?,?,?,?)"; Подготовленное Statatement ptmt = conn.prepareStatement (SQL); ptmt.setString (1, Goddess.getName ()); ptmt.setString (2, Goddess.getMobie ()); ptmt.setString (3, Goddess.getemail ()); ptmt.setString (4, Goddess.getAddress ()); ptmt.execute (); } / ** * Модифицировать информацию о богине * * @Throws SQLexception * / public void updategoDdess (Богиня Богиня) Throws SQLexception {connection conn = dbutil.getConnection (); String sql = "Обновить богиню набор name =?, Mobie =?, Email =?, Address =? Где id =?"; Подготовленное Statatement ptmt = conn.prepareStatement (SQL); ptmt.setString (1, Goddess.getName ()); ptmt.setString (2, Goddess.getMobie ()); ptmt.setString (3, Goddess.getemail ()); ptmt.setString (4, Goddess.getAddress ()); ptmt.execute (); } / ** * Удалить богиню * * @Throws SQLexception * / public void deletegoDdess (INTEGER ID) THROHS SQLEXCEPTION {Connection conn = dbutil.getConnection (); String sql = "Удалить из богини, где id =?"; Подготовленное Statatement ptmt = conn.prepareStatement (SQL); ptmt.setint (1, id); ptmt.execute (); }} Шаг 6: Реализация управляющего уровня (контрольный уровень используется для имитации управляющего уровня и интерфейса здесь и непосредственно создавать данные здесь. Если это данные интерфейса, вы можете передать параметры приема с помощью запросов. Вы можете изменить и улучшить код управляющего уровня в соответствии с реальной ситуацией. Вот просто простой тест для вас, и время натянут, я надеюсь, что вы можете понять это). Код заключается в следующем:
пакет com.czgo.action; импорт java.sql.sqlexception; import java.util.list; import com.czgo.dao.goddessdao; import com.czgo.model.goddess;/**** управляющий уровень, непосредственно создавать данные здесь, и данные интерфейса могут быть получены через запросы. То же самое это истинно * * @author alanlee * */public class Богидесакция {/** * Добавлена богиня * * @param Богиня * @throws исключение */public void add (Богиня Богиня), выбрасывает исключение {богидесдао дао = new Goddessdao (); Goddess.SetName ("Aoi Sora"); Goddess.setmobie ("52220000"); Goddess.setemail ("[email protected]"); Goddess.SetAddress («Пекинский район Красного света»); dao.addgoddess (богиня); } / ** * Запросить одиночную богиню * * @param id * @return * @Throws SQLexception * / Public Gogess Get (Integer id) Throws Sqlexpresse {Goddessdao dao = new Goddessdao (); вернуть dao.querybyid (id); } / ** * Модифицировать богиню * * @param богиня * @throhs Exception * / public void edit (Богиня Богиня). Вызывает исключение {Goddessdao dao = new Goddessdao (); dao.updategoddess (богиня); } / ** * Удалить богиню * * @param id * @Throws SQLexCeption * / public void del (Integer id) Throws Sqlexpresse {GoddessDao dao = new GoddessDao (); dao.deletegoddess (id); } / ** * Запросить все богини * * @return * @throhs Exception * / public list <godesess> Query () Throws Exception {Goddessdao dao = new Goddessdao (); вернуть dao.query (); } / ** * Проверьте, является ли он успешным * * @param args * @throhs sqlexception * / public static void main (string [] args) выбрасывает sqlexception {Goddessdao Goddessdao = new Goddessdao (); Список <hoddess> Goddesslist = GoddessDao.Query (); for (Богиня Богиня: Goddesslist) {System.out.println (Goddess.getName () + "," + Goddess.getMobie () + "," + Goddess.getemail ()); }}} Наконец, давайте посмотрим, успешно ли работает основной метод:
Таким образом, простое соединение JAVA JDBC с базой данных MySQL завершено для добавления, удаления, изменения и запроса. Вы можете попытаться сделать расширенный запрос на основе запроса, то есть запроса на несколько кондиционеров для консолидации использования JDBC.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.