- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
createQuery() 方法想要转换为 Connection 对象,但似乎该方法适用于 SQL2o 对象,因为它位于包中......我正在使用 sql2o 创建数据库连接;但是,我不明白为什么使用 .createQuery() 方法要转换为 Connection 对象?
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.sql2o.Sql2o;
import com.google.gson.Gson;
import com.models.Person;
import com.tools.DBUtil;
import com.tools.DataTable;
/**
* Servlet implementation class SalesTeam
*/
@WebServlet(name = "SalesTeam_Table", urlPatterns = { "/json/table/salesteam" })
public class Table_SalesTeam extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Table_SalesTeam() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Creating an arraylist based on the Person model in com.models
ArrayList<Person> people = new ArrayList<Person>();
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
String DB_URL = "jdbc:mysql://localhost:3306/salesteam";
String USER = "root";
String PASS = "1234 ";
Sql2o sql2o = new Sql2o(DB_URL, USER, PASS);
String sql =
"SELECT empID, fName " +
"FROM salesteam " +
"WHERE empID = 1";
//issue is here...
try (Connection con = sql2o.open()){
people = con.createQuery(sql).executeAndFetch(Person.class);
////////////////////////
//Selecting every record in sales_team table
//pst = conn.prepareStatement("select f_Name, l_Name, email, contactNum from sales_team ORDER BY f_Name ASC ");
//rs = pst.executeQuery();
while (rs.next()) {
//Create a person object and fill fields
Person p = new Person();
p.setfName(rs.getString("f_Name"));
p.setlName(rs.getString("l_Name"));
p.setEmail(rs.getString("email"));
p.setContact(rs.getString("contactNum"));
//Add person to people array list
people.add(p);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
//Must close the database objects
DBUtil.close(conn, pst, rs);
}
//Gson Library was added to WEB-INF/lib
//Creating a new gson object to hold json
Gson gson = new Gson();
//Create a custom DataTable object that takes an ArrayList<Object> and makes an object
//Used to create correct datatable json formatting
DataTable table = new DataTable();
table.setData(people);
//Creating string by converting people arraylist to json string with gson object
//Read up on gson library for json at http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
String json = gson.toJson(table);
//Uncomment line below and look in console for what json looks like
System.out.println(json);
//Write json string to response
PrintWriter out = response.getWriter();
out.print(json);
out.flush();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
最佳答案
仔细阅读 Javadoc。 sql2o#open()
返回 org.sql2o.Connection
,它不继承自 java.sql.Connection
。如果你想要底层的 JDBC Connection 对象,你必须调用 org.sql2o.Connection#getJdbcConnection()
看来 sql2o 已经落后于时代了,因为更新的 JDBC API 包含方法( Wrapper#unwrap()
和 isWrapperFor()
)来简化 JDBC 类的自定义实现的使用。
关于java - 如何使用 createQuery() 方法使用 sql2o 创建 JDBC 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36360049/
嗨,我在 phpmyadmin 中编写了这个查询,它可以在 gr8 中运行。 SELECT u.* FROM users AS u WHERE u.id = 14469 OR
我将使用jsp和servlet使用hibernate 4.3.x开发一个简单的应用程序。我想将数据库中的表数据加载到使用jsp创建的表中。 这是我的 role.jsp 文件中的必填部分
我有这个代码: var existsQuery = from e in TableServiceContext.CreateQ
我正在处理一些继承的代码,但我不习惯 Entity Framework 工作。我试图弄清楚为什么以前的程序员会按照他们的方式编码,有时会混合和匹配不同的数据查询方式。 Deal d = _em.fin
尝试弄清楚 JPQL CreateQuery 上的联接如何工作。我有一个带有 SQL 代码的经理姓名的部分搜索功能: SELECT e.EMPLOYEE_ID AS empId, e.FIR
我正在使用 tableServiceContext.CreateQuery 方法,现在(升级到 Azure SDK 2.5 后)它说 * Support for accessing Windows A
我正在尝试使用用户的电子邮件返回用户的 ID,因此我的 dao 类中有一个方法应该返回用户的 ID,并且该方法将电子邮件作为参数: public int trouverUtil( String ema
我已经为我的 Generic DAO 制作了这个方法 public T find(String column, String input) { Query query = em.createQ
我是 Entity Framework 的新手。 我找不到下面的方法CreateQuery() 为什么我找不到这个方法?!! 最佳答案 由于 ESQL 被认为是高级用例,因此 DbContext 中没
希望有人能从性能的角度阐明使用 OrganizationServiceContext.CreateQuery 与使用 FetchXML(或 QueryExpression)的区别。 我广泛使用了 LI
'我每次都会收到 NullPointerException EntityManager.createQuery()或 EntityManager.createNamedQuery()叫做。 我正在使用
我们在session.createQuery()处面临Web应用程序实例终止 我们正在使用Linux和jboss-4.0.3 AS版本,因为它具有以下异常 每次调用此方法时我们都不会遇到问题,但有时会
谁能告诉我Hibernate的区别: createCriteria createQuery createSQLQuery 谁能告诉我这三个函数返回什么数据,c.q.引导我到一个适当而简单的链接来研究这
我正在努力找出当我尝试使用 createQuery() 运行 HQL 查询时发生的空指针异常的根源。 运行查询的代码非常简单。最初我有一个正在调用的命名查询,但只是为了让事情变得更简单并消除我这样做的
我通常在实例化查询对象时使用这种方法: Query query = datastore.createQuery(Product.class); 但是 Morphia 允许您在实例化查询对象时传递集合名
1.我能够持久化实体,并且在 _admin 中,我能够看到 key 、id/name。共有 6 个结果。但为什么它不显示我的实体类中的所有属性? 2.当我尝试使用createQuery时,我无法加载该
使用 JPA/Eclipse TopLink。 我正在更新一个表(使用 createNativeQuery),如下所示: Query query = em.createNativeQuery("UPD
这是失败的: public List requestTypeActionCommercialeSansNip() throws PersistenceException { Query que
我有这个应用程序,我使用 JSF 2.0 和 EclipseLink,我有为 MySQL 中的数据库创建的实体,使用 netbeans 7.1.2 创建这些实体,它会自动创建。 然后我使用 sessi
我自己的 Persistence 类中有以下通用方法: @SuppressWarnings("unchecked") public static T getByCondition(Class cla
我是一名优秀的程序员,十分优秀!