Tag: mysql

如何解决无法加载身份validation插件’caching_sha2_password’的问题

在eclipse中,当我开始我的应用程序时,我得到了这个 – 无法发现要使用的方言。 java.sql.SQLException:无法加载身份validation插件’caching_sha2_password’。 在java.sql.SQLException:无法加载身份validation插件’caching_sha2_password’。 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:864)at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO。 java:1746)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2191)at com.mysql.jdbc.ConnectionImpl。 connectOneTryOnly(ConnectionImpl.java:2222)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2017)at com.mysql.jdbc.ConnectionImpl。(ConnectionImpl.java:779)at com.mysql.jdbc .JDBC4Connection。(JDBC4Connection.java:47)at at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at at at at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)at a java.lang.reflect.Constructor.newInstance(Unknown Source)at a t com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)at at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)at at java.sql.DriverManager.getConnection(Unknown Source)at at at java.ql.DriverManager.getConnection(未知源)位于ch.qos.logback.core.db.DriverManagerConnectionSource.getConnection(DriverManagerConnectionSource.java:54)at ch.qos.logback.core.db.ConnectionSourceBase.discoverConnectionProperties(ConnectionSourceBase) .java:46)at ch.qos.logback.core.db.DriverManagerConnectionSource.start(DriverManagerConnectionSource.java:38)at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.end(NestedComplexPropertyIA.java:161 )at ch.qos.logback.core.joran.spi.Interpreter.callEndAction(Interpreter.java:309)at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:193)at at at ch.qos.logback.core.joran.spi.Interpreter.endElement(Interpreter.java:179)at […]

在MySQL上使用NoSQL数据库

我有一个在Java堆栈上运行的Web应用程序(Struts 2 + Spring + Hibernate)并且在MySQL中持久存在。 我查看了NoSQL数据库,它们比RDBMS更容易推理和使用。 这是一个音乐流媒体应用程序,存储艺术家信息,并允许用户保存播放列表。 我想知道切换到NoSQL DB(CouchDB?,MongoDB?,Cassandra?)是否有任何优势(性能?,硬件成本?,简化代码?,可扩展性?)。 切换到NoSQL数据库会给您带来什么损失? 请指教。

使用条件选择查询

我在这里有三个表。用户可以应用可用的培训。当他/她选择培训时,它根据他/她的用户ID被放置在TRAINUSER表中。 我想在他/她登录时选择用户并显示他/她未应用培训的TRAINUSER表中的数据。 与user_id 1一样,已经应用了2次和3次训练,但未应用1次和4次训练。 我希望user_id 1使用hibernate查询显示训练1和4。

有没有使用嵌套while循环实现此程序的不同方法?

目前我的程序工作正常,但是我如何实现这个程序而不使用嵌套的while循环(一个while循环在另一个循环中)。这是一种孩子的编程方式,我的办公室同事不希望我写这样的代码那么有没有不同的方法来实现这个程序或实现上面代码中看到的while循环的正确方法? 这是我的当前代码: package Snomed.Snomed; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Date; import catalog.Root; public class Snomedinfo { public void snomedinfoinsert() { Root oRoot = null; ResultSet oRsSelect = null; PreparedStatement oPrStmt = null; PreparedStatement oPrStmt2 = null; PreparedStatement oPrStmtSelect = null; String strSql = null; String snomedcode = null; ResultSet oRs = null; String refid = […]

如何在2个表中获得结果

我有2张桌子。 一个叫做预订,另一个叫做房间。 预订中的列包括:RoomID,startdate,enddate,customerId。 房间中的列是:RoomID,大小。 我想从预订表中选择一行,其中日期在startdate和enddate之间,并且无论我作为参数传递的是什么大小都相等。 例如: 我想在2010-01-31和2010-02-25之间进行选择,其中size = Large。 EDIT =这就是我String sqlStatement = “SELECT StartDate, EndDate FROM Booking between ” + startD + “, ” + endD; : String sqlStatement = “SELECT StartDate, EndDate FROM Booking between ” + startD + “, ” + endD;

swing将数据从mysql db检索到textfield

我在mysql表中有列有100条记录,我希望从textfield中的表中显示值(每3秒显示0到99之间的记录)。 这是我的代码: Connection conn = null; Statement st = null; ResultSet rs = null; String dbUrl = “jdbc:mysql://localhost:3306/jointdb”; String dbUsr = “root”; String dbPass = “a12345”; try{ String sql= “select expert1 from eridb”; Class.forName(“com.mysql.jdbc.Driver”); conn = DriverManager.getConnection (dbUrl,dbUsr,dbPass); st = conn.createStatement(); rs = st.executeQuery(sql); // textField1.setText(“enter text here”); while(rs.next()){ //Get values String value = rs.getString(“expert1”); […]

如何解决“org.hibernate.QueryException:并未设置所有命名参数”错误?

我正在使用java-hibernate-mysql组合 当我做更新查询时,我得到以下错误。 我不明白hibernate有什么问题。 以下我发布了我得到的错误: org.hibernate.QueryException: Not all named parameters have been set: [0] [update sequence s set s.cmd_output=’neox tty1 2012-06-08 09:40 (:0) neox pts/1 2012-06-08 09:41 (:0) neox pts/0 2012-06-08 09:41 (:0) neox pts/2 2012-06-08 09:41 (:0) neox pts/3 2012-06-08 12:48 (deval-PC.local.lan) [neox@localhost ~]$ ‘, s.cmd_output_time=’2012-06-08 12:48:58’ where s.id=43] at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:106) at org.hibernate.impl.QueryImpl.executeUpate(QueryImpl.java:85) at db_model.sequence_db.insert_Sequence_new(sequence_db.java:242) […]

如何在预备语句中使用变量进行sql查询?

我正在eclipse Java EE中做一个web应用程序项目。 目前,我的应用程序返回存储员工个人信息的数据库中的所有值。 但是,我设置了默认的预准备语句来搜索employee_id = 1234的表,而不是登录员工的employee_id。这意味着无论哪个员工登录我的系统,它都只会显示员工的个人信息ID为1234,如下面的预备声明所示: PreparedStatement ps = con.prepareStatement(“select employeeID, FirstName, LastName, Admin, DOB, Address, Email, HourlyRate, Gender, ALeaveBalance, SLeaveBalance, ActiveStatus, Role, BSB, BankName, AccNumber, SuperNumber, SuperCompany from payroll_system.employee_info where **employeeID = 1234**”); 请注意上面的employeeID如何设置为1234.这意味着我的程序(请参阅下面的代码)仅显示该员工的信息。 但是,我希望将employeeID设置为登录的人的id(登录由另一个servlet管理。如果有人可以帮助我,那将非常感谢,谢谢:) import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class PersonalInfoOutput extends HttpServlet { protected void doPost(HttpServletRequest request, […]

总计小时数无法从android插入MySQL

我使用下面的公式得到总小时数: public void updateTotalHours() { int a = SplitTime(objMyCustomBaseAdapter.getFistTime()); int b = SplitTime(objMyCustomBaseAdapter.getLastTime()); long difference = 0; if (a > b) { difference = (b + (24 * 60) – a) – (1 * 60); int minutes = (int) (difference % 60); int hours = (int) ((difference / 60) % (24 * 60)); totalHours.setText((“Total hours […]

使用java在mysql中创建用户

在以root身份登录后的MySQL命令行客户端中,我键入: connect mydb; grant all privileges on mydb.* to ‘admin’@’localhost’ identified by ‘pass’; 现在在Java中 ,我使用admin userid使用驱动程序成功连接到数据库。 Statement put=connect.createStatement(); //**WORKS succesfully** put.execute(“insert into mydb.emp values(100,joe)”); //**does NOT work** put.execute(“grant all privileges on mydb.* to ‘john’@’localhost’ identified by ‘pass'”); 为什么insert命令有效但grant命令永远不能通过Java工作? 请帮忙。