hibernate对大数据资源的处理操作
bean文件 package tk.blank_hibernate.bean;import java.io.Serializable;import java.sql.Blob;public class Image implements Serializable{/** * */private static final long serialVersionUID = 1L;private Integer id;private Blob image;public Image
bean文件
package tk.blank_hibernate.bean; import java.io.Serializable; import java.sql.Blob; public class Image implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private Integer id; private Blob image; public Image() { super(); // TODO Auto-generated constructor stub } public Image(Integer id, Blob image) { super(); this.id = id; this.image = image; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Blob getImage() { return image; } public void setImage(Blob image) { this.image = image; } @Override public String toString() { return "Image [id=" + id + ", image=" + image + "]"; } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="tk.blank_hibernate.bean"> <class name="Image" table="image" catalog="hiber_jd"> <!-- 映射符主键 --> <id name="id" column="id"> <generator class="native"/> </id> <property name="image" column="image" type="blob" /> </class> </hibernate-mapping>
package tk.blank_hibernate.dao; import java.io.Serializable; import java.util.List; import java.util.Set; public interface BaseDao { /** * 增加数据 * * @param entity * @return */ void saveObject(Object entity); /** * 删除数据 * * @param entity */ void deleteObject(Object entity); /** * 根据ID删除数据 * * @param clazz * @param id */ void deleteObject(Class clazz, Serializable id); /** * 更改数据 * * @param entity */ void updateObject(Object entity); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object getObject(Class clazz, Serializable id); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object loadObject(Class clazz, Serializable id); /** * 查询数据表的所有数据 * @param clazz * @return */ List getObjectAll(Class clazz); } 处理图片的接口
package tk.blank_hibernate.dao; public interface ImageDao extends BaseDao { }
package tk.blank_hibernate.dao.impl; import java.io.Serializable; import java.util.HashSet; import java.util.List; import java.util.Set; import org.hibernate.Session; import org.hibernate.Transaction; import tk.blank_hibernate.bean.Goods; import tk.blank_hibernate.dao.BaseDao; import tk.blank_hibernate.util.BaseHibernateDaoImpl; public class BaseDaoImpl extends BaseHibernateDaoImpl implements BaseDao { @Override public void saveObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================saveObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.save(entity); transaction.commit(); } @Override public void deleteObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================deleteObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.delete(entity); transaction.commit(); } @Override public void deleteObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================deleteObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.delete(getObject(clazz, id)); transaction.commit(); } @Override public void updateObject(Object entity) { System.out .println("开始执行BaseDaoImpl中的方法=======================updateObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); session.update(entity); transaction.commit(); } @Override public Object getObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================getObject"); Session session = getSessionObject(); Transaction transaction = session.beginTransaction(); Object object= session.get(clazz, id); return object; } @Override public Object loadObject(Class clazz, Serializable id) { System.out .println("开始执行BaseDaoImpl中的方法=======================loadObject"); return null; } @Override public List getObjectAll(Class clazz) { System.out .println("开始执行BaseDaoImpl中的方法=======================getObjectAll"); Transaction transaction = getSessionObject().beginTransaction(); List list = getSessionObject().createQuery("from "+clazz.getName()).list(); transaction.commit(); return list; } }
处理图片的类实现
package tk.blank_hibernate.dao.impl; import tk.blank_hibernate.dao.ImageDao; public class ImageDaoImpl extends BaseDaoImpl implements ImageDao { }
处理所有共同操作的service的接口
package tk.blank_hibernate.service; import java.io.Serializable; import java.util.List; public interface BaseService { /** * 增加数据 * * @param entity * @return */ void saveObject(Object entity); /** * 删除数据 * * @param entity */ void deleteObject(Object entity); /** * 根据ID删除数据 * * @param clazz * @param id */ void deleteObject(Class clazz, Serializable id); /** * 更改数据 * * @param entity */ void updateObject(Object entity); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object getObject(Class clazz, Serializable id); /** * 根据ID查询数据 * * @param clazz * @param id * @return */ Object loadObject(Class clazz, Serializable id); /** * 查询数据表的所有数据 * * @param clazz * @return */ List getObjectAll(Class clazz); }
package tk.blank_hibernate.service; public interface ImageService extends BaseService { }处理所有共同方法的service的实现
package tk.blank_hibernate.service.impl; import java.io.Serializable; import java.util.List; import tk.blank_hibernate.dao.BaseDao; import tk.blank_hibernate.dao.impl.BaseDaoImpl; import tk.blank_hibernate.service.BaseService; public class BaseServiceImpl implements BaseService { BaseDao baseDao =new BaseDaoImpl(); @Override public void saveObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============saveObject"); baseDao.saveObject(entity); } @Override public void deleteObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============deleteObject"); baseDao.deleteObject(entity); } @Override public void deleteObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============deleteObject"); baseDao.deleteObject(clazz, id); } @Override public void updateObject(Object entity) { System.out.println("开始执行BaseServiceImpl中的方法==============updateObject"); baseDao.updateObject(entity); } @Override public Object getObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============getObject"); return baseDao.getObject(clazz, id); } @Override public Object loadObject(Class clazz, Serializable id) { System.out.println("开始执行BaseServiceImpl中的方法==============loadObject"); return baseDao.loadObject(clazz, id); } @Override public List getObjectAll(Class clazz) { System.out.println("开始执行BaseServiceImpl中的方法==============getObjectAll"); return baseDao.getObjectAll(clazz); } }
package tk.blank_hibernate.service.impl; import tk.blank_hibernate.service.ImageService; public class ImageServiceImpl extends BaseServiceImpl implements ImageService { }
单独产生session的接口
package tk.blank_hibernate.util;
import org.hibernate.Session;
public interface IHibernateConnection {
public Session getSessionObject();
}
单独产生session的实现类
package tk.blank_hibernate.util;
import org.hibernate.Session;
public class BaseHibernateDaoImpl implements IHibernateConnection {
@Override
public Session getSessionObject() {
return HiberUtil.openSession();
}
}
产生session的实质方法
package tk.blank_hibernate.util; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; public class HiberUtil { static Configuration cfg; static ServiceRegistry serviceRegistry; static SessionFactory sessionFactory; static{ cfg=new Configuration().configure(); serviceRegistry=new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); sessionFactory =cfg.buildSessionFactory(serviceRegistry); } public static Session openSession(){ //返回当前的session的连接对象 return sessionFactory.getCurrentSession(); } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="connection.url"> jdbc:mysql://localhost:3306/hiber_jd </property> <property name="connection.username">root</property> <property name="connection.password">admin</property> <!-- 数据库的方言 --> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- 显示操作的sql语句 --> <property name="hibernate.show_sql">true</property> <!-- 格式sql语句 --> <property name="hibernate.format_sql">false</property> <!-- 自动创建和更新表结构 --> <property name="hibernate.hbm2ddl.auto">update</property> <mapping resource="tk/blank_hibernate/bean/Image.hbm.xml" /> </session-factory> </hibernate-configuration>
测试代码
package tk.blank_hibernate.junit; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilterInputStream; import java.io.IOException; import java.io.InputStream; import java.sql.Blob; import java.sql.SQLException; import org.hibernate.Hibernate; import org.junit.Test; import tk.blank_hibernate.bean.Image; import tk.blank_hibernate.service.ImageService; import tk.blank_hibernate.service.impl.ImageServiceImpl; import tk.blank_hibernate.util.HiberUtil; public class ImageTest { // 创建ImageService处理对象 ImageService imageService = new ImageServiceImpl(); @Test public void save() { // 创建img对象 Image image = new Image(); // 读取文件 File file = new File("F:\\webprogect\\hibernate_jd\\src\\ni.jpg"); try { // 创建文件的输入流,将文件加载到流中 FileInputStream fis = new FileInputStream(file); // 创建blob大数据对象|||||在4之后要用这样的方式获取 Blob blob = Hibernate.getLobCreator(HiberUtil.openSession()) .createBlob(fis, file.length()); //将大数据存储到 image.setImage(blob); imageService.saveObject(image); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test public void getImage() throws SQLException { Image image = (Image) imageService.getObject(Image.class, 1); // 判断得到得数据是否为空 if (image != null) { InputStream is = image.getImage().getBinaryStream(); File file = new File("D:\\a.jpg"); try { FileOutputStream fos = new FileOutputStream(file); byte buffer[] = new byte[1024]; int len = 0; while ((len = is.read(buffer)) != -1) { fos.write(buffer, 0, len); } fos.close(); is.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



DDREASE ist ein Tool zum Wiederherstellen von Daten von Datei- oder Blockgeräten wie Festplatten, SSDs, RAM-Disks, CDs, DVDs und USB-Speichergeräten. Es kopiert Daten von einem Blockgerät auf ein anderes, wobei beschädigte Blöcke zurückbleiben und nur gute Blöcke verschoben werden. ddreasue ist ein leistungsstarkes Wiederherstellungstool, das vollständig automatisiert ist, da es während der Wiederherstellungsvorgänge keine Unterbrechungen erfordert. Darüber hinaus kann es dank der ddasue-Map-Datei jederzeit gestoppt und fortgesetzt werden. Weitere wichtige Funktionen von DDREASE sind: Es überschreibt die wiederhergestellten Daten nicht, füllt aber die Lücken im Falle einer iterativen Wiederherstellung. Es kann jedoch gekürzt werden, wenn das Tool explizit dazu aufgefordert wird. Stellen Sie Daten aus mehreren Dateien oder Blöcken in einer einzigen wieder her

0.Was bewirkt dieser Artikel? Wir schlagen DepthFM vor: ein vielseitiges und schnelles generatives monokulares Tiefenschätzungsmodell auf dem neuesten Stand der Technik. Zusätzlich zu herkömmlichen Tiefenschätzungsaufgaben demonstriert DepthFM auch hochmoderne Fähigkeiten bei nachgelagerten Aufgaben wie dem Tiefen-Inpainting. DepthFM ist effizient und kann Tiefenkarten innerhalb weniger Inferenzschritte synthetisieren. Lassen Sie uns diese Arbeit gemeinsam lesen ~ 1. Titel der Papierinformationen: DepthFM: FastMonocularDepthEstimationwithFlowMatching Autor: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

1. Zuerst klicken wir mit der rechten Maustaste auf die leere Stelle der Taskleiste und wählen die Option [Task-Manager] oder klicken mit der rechten Maustaste auf das Startlogo und wählen dann die Option [Task-Manager]. 2. In der geöffneten Task-Manager-Oberfläche klicken wir ganz rechts auf die Registerkarte [Dienste]. 3. Klicken Sie in der geöffneten Registerkarte [Dienst] unten auf die Option [Dienst öffnen]. 4. Klicken Sie im sich öffnenden Fenster [Dienste] mit der rechten Maustaste auf den Dienst [InternetConnectionSharing(ICS)] und wählen Sie dann die Option [Eigenschaften]. 5. Ändern Sie im sich öffnenden Eigenschaftenfenster die Option „Öffnen mit“ in „Deaktiviert“, klicken Sie auf „Übernehmen“ und dann auf „OK“. 6. Klicken Sie auf das Startlogo, dann auf die Schaltfläche zum Herunterfahren, wählen Sie [Neustart] und schließen Sie den Neustart des Computers ab.

Die von Google geförderte Leistung von JAX hat in jüngsten Benchmark-Tests die von Pytorch und TensorFlow übertroffen und belegt bei 7 Indikatoren den ersten Platz. Und der Test wurde nicht auf der TPU mit der besten JAX-Leistung durchgeführt. Obwohl unter Entwicklern Pytorch immer noch beliebter ist als Tensorflow. Aber in Zukunft werden möglicherweise mehr große Modelle auf Basis der JAX-Plattform trainiert und ausgeführt. Modelle Kürzlich hat das Keras-Team drei Backends (TensorFlow, JAX, PyTorch) mit der nativen PyTorch-Implementierung und Keras2 mit TensorFlow verglichen. Zunächst wählen sie eine Reihe von Mainstream-Inhalten aus

Stehen Sie vor einer Verzögerung oder einer langsamen mobilen Datenverbindung auf dem iPhone? Normalerweise hängt die Stärke des Mobilfunk-Internets auf Ihrem Telefon von mehreren Faktoren ab, wie z. B. der Region, dem Mobilfunknetztyp, dem Roaming-Typ usw. Es gibt einige Dinge, die Sie tun können, um eine schnellere und zuverlässigere Mobilfunk-Internetverbindung zu erhalten. Fix 1 – Neustart des iPhone erzwingen Manchmal werden durch einen erzwungenen Neustart Ihres Geräts viele Dinge zurückgesetzt, einschließlich der Mobilfunkverbindung. Schritt 1 – Drücken Sie einfach einmal die Lauter-Taste und lassen Sie sie los. Drücken Sie anschließend die Leiser-Taste und lassen Sie sie wieder los. Schritt 2 – Der nächste Teil des Prozesses besteht darin, die Taste auf der rechten Seite gedrückt zu halten. Lassen Sie das iPhone den Neustart abschließen. Aktivieren Sie Mobilfunkdaten und überprüfen Sie die Netzwerkgeschwindigkeit. Überprüfen Sie es erneut. Fix 2 – Datenmodus ändern 5G bietet zwar bessere Netzwerkgeschwindigkeiten, funktioniert jedoch besser, wenn das Signal schwächer ist

Ich weine zu Tode. Die Daten im Internet reichen überhaupt nicht aus. Das Trainingsmodell sieht aus wie „Die Tribute von Panem“, und KI-Forscher auf der ganzen Welt machen sich Gedanken darüber, wie sie diese datenhungrigen Esser ernähren sollen. Dieses Problem tritt insbesondere bei multimodalen Aufgaben auf. Zu einer Zeit, als sie ratlos waren, nutzte ein Start-up-Team der Abteilung der Renmin-Universität von China sein eigenes neues Modell, um als erstes in China einen „modellgenerierten Datenfeed selbst“ in die Realität umzusetzen. Darüber hinaus handelt es sich um einen zweigleisigen Ansatz auf der Verständnisseite und der Generierungsseite. Beide Seiten können hochwertige, multimodale neue Daten generieren und Datenrückmeldungen an das Modell selbst liefern. Was ist ein Modell? Awaker 1.0, ein großes multimodales Modell, das gerade im Zhongguancun-Forum erschienen ist. Wer ist das Team? Sophon-Motor. Gegründet von Gao Yizhao, einem Doktoranden an der Hillhouse School of Artificial Intelligence der Renmin University.

Kürzlich wurde die Militärwelt von der Nachricht überwältigt: US-Militärkampfflugzeuge können jetzt mithilfe von KI vollautomatische Luftkämpfe absolvieren. Ja, erst kürzlich wurde der KI-Kampfjet des US-Militärs zum ersten Mal der Öffentlichkeit zugänglich gemacht und sein Geheimnis gelüftet. Der vollständige Name dieses Jägers lautet „Variable Stability Simulator Test Aircraft“ (VISTA). Er wurde vom Minister der US-Luftwaffe persönlich geflogen, um einen Eins-gegen-eins-Luftkampf zu simulieren. Am 2. Mai startete US-Luftwaffenminister Frank Kendall mit einer X-62AVISTA auf der Edwards Air Force Base. Beachten Sie, dass während des einstündigen Fluges alle Flugaktionen autonom von der KI durchgeführt wurden! Kendall sagte: „In den letzten Jahrzehnten haben wir über das unbegrenzte Potenzial des autonomen Luft-Luft-Kampfes nachgedacht, aber es schien immer unerreichbar.“ Nun jedoch,

Neues SOTA für multimodale Dokumentverständnisfunktionen! Das Alibaba mPLUG-Team hat die neueste Open-Source-Arbeit mPLUG-DocOwl1.5 veröffentlicht, die eine Reihe von Lösungen zur Bewältigung der vier großen Herausforderungen der hochauflösenden Bildtexterkennung, des allgemeinen Verständnisses der Dokumentstruktur, der Befolgung von Anweisungen und der Einführung externen Wissens vorschlägt. Schauen wir uns ohne weitere Umschweife zunächst die Auswirkungen an. Ein-Klick-Erkennung und Konvertierung von Diagrammen mit komplexen Strukturen in das Markdown-Format: Es stehen Diagramme verschiedener Stile zur Verfügung: Auch eine detailliertere Texterkennung und -positionierung ist einfach zu handhaben: Auch ausführliche Erläuterungen zum Dokumentverständnis können gegeben werden: Sie wissen schon, „Document Understanding“. " ist derzeit ein wichtiges Szenario für die Implementierung großer Sprachmodelle. Es gibt viele Produkte auf dem Markt, die das Lesen von Dokumenten unterstützen. Einige von ihnen verwenden hauptsächlich OCR-Systeme zur Texterkennung und arbeiten mit LLM zur Textverarbeitung zusammen.
