package Bean;
public class cvpr {
private int id;
private String title,authors,abstract_text,original_link,keywords,abstract_text1;
private int year;
public cvpr(int id, String title, String authors, String abstract_text, String original_link, String keywords, int year,String abstract_text1) {
this.id = id;
this.title = title;
this.authors = authors;
this.abstract_text = abstract_text;
this.original_link = original_link;
this.keywords = keywords;
this.year = year;
this.abstract_text1=abstract_text1;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthors() {
return authors;
}
public void setAuthors(String authors) {
this.authors = authors;
}
public String getAbstract_text() {
return abstract_text;
}
public String getOriginal_link() {
return original_link;
}
public void setOriginal_link(String original_link) {
this.original_link = original_link;
}
public String getKeywords() {
return keywords;
}
public void setKeywords(String keywords) {
this.keywords = keywords;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getAbstract_text1() {
return abstract_text;
}
}
package Bean;
import java.util.List;
public class pager<T> {
//总条数
//当前页
//总页数
//上一页
//下一页
//页大小
private int totalCount;
private int currentPage;
private int totalPage;
private boolean hasPrevPage;
private boolean hasNextPage;
private int pageSize;
private List<T> data;
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
this.totalPage=(int) Math.ceil(((double)totalCount/pageSize));
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public boolean isHasPrevPage() {
return hasPrevPage;
}
public void setHasPrevPage(boolean hasPrevPage) {
this.hasPrevPage = hasPrevPage;
}
public boolean isHasNextPage() {
return hasNextPage;
}
public void setHasNextPage(boolean hasNextPage) {
this.hasNextPage = hasNextPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
}
package Bean;
import java.sql.*;
//select count(*) from papers
public class test {
static String driver = "com.mysql.cj.jdbc.Driver";
static String url = "jdbc:mysql://gongyunlong.mysql.rds.aliyuncs.com/cvpr1?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
// 数据库的用户名与密码,需要根据自己的设置
static String user = "g2431";
static String password = "Gg12512544";
static Connection con;
public static int getcount()
{
int i=0;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
ResultSet rs = null;
// 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入???
String sql = "select count(*) from papers";
PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理
rs=pst.executeQuery();
if(rs.next()) {
i=rs.getInt(1);
System.out.println("count:"+i);
}
pst.executeUpdate();
stmt.executeUpdate(sql);
con.close();
System.out.println("insert success!");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return i;
}
public static int cx(cvpr[] cvprs,int page){
int i=0;
Connection con;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
// String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')";
String page1=String.valueOf((page-1)*30);
//String page2=String.valueOf((page-1)*30+30);
String sql = "select id,title,authors,abstract_text,original_link,keywords,year from papers limit "+page1+","+30;
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id=rs.getInt("id");
String title=rs.getNString("title");
String authors=rs.getString("authors");
String abstract_text=rs.getNString("abstract_text");
String original_link=rs.getNString("original_link");
String keywords=rs.getString("keywords");
int year=rs.getInt("year");
cvprs[i]=new cvpr(id,title,authors,abstract_text,original_link,keywords,year,abstract_text);
i++;
}
con.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return i;
}
public static cvpr cx(int id){
cvpr c=null;
int i=0;
Connection con;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
// String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')";
String sql = "select id,title,authors,abstract_text,original_link,keywords,year from papers WHERE id= '"+id+"';";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id1=rs.getInt("id");
String title=rs.getNString("title");
String authors=rs.getString("authors");
String abstract_text=rs.getNString("abstract_text");
String original_link=rs.getNString("original_link");
String keywords=rs.getString("keywords");
int year=rs.getInt("year");
c=new cvpr(id,title,authors,abstract_text,original_link,keywords,year,abstract_text);
}
con.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return c;
}
public static int cx(cvpr[] cvprs,int page,String s){
String[] str=new String[100];
int i=0;
int si=0;
for (String retval: s.split(" ")){
str[si]=retval;
si++;
}
Connection con;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
// String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')";
String page1=String.valueOf((page-1)*30);
//String page2=String.valueOf((page-1)*30+30);
String sql = "select * from papers where papers.keywords LIKE ";
for(int k=0;k<si;k++)
{
str[k]=captureName(str[k]);
sql=sql+"'%"+str[k]+"%'";
if(k!=si-1)
{
sql=sql+" or papers.keywords LIKE ";
}
else{
sql=sql+"limit "+page1+","+30+";";
}
System.out.println(sql);
}
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id=rs.getInt("id");
String title=rs.getNString("title");
String authors=rs.getString("authors");
String abstract_text=rs.getNString("abstract_text");
String original_link=rs.getNString("original_link");
String keywords=rs.getString("keywords");
int year=rs.getInt("year");
cvprs[i]=new cvpr(id,title,authors,abstract_text,original_link,keywords,year,abstract_text);
i++;
}
con.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return i;
}
private static String captureName(String s) {
// 进行字母的ascii编码前移,效率要高于截取字符串进行转换的操作
if (Character.isUpperCase(s.charAt(0))) {
return s;
} else {
return (new StringBuilder()).append(Character.toUpperCase(s.charAt(0))).append(s.substring(1)).toString();
}
}
public static int cx1(cvpr[] cvprs,int page){
int i=0;
Connection con;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
// String sql = "INSERT INTO tab1 (title,author,submission_date) VALUES ('li','xiao','2020-07028')";
String page1=String.valueOf((page-1)*30);
//String page2=String.valueOf((page-1)*30+30);
String sql = "select id,title,authors,abstract_text,original_link,keywords,year from papers limit "+page1+","+30;
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id=rs.getInt("id");
String title=rs.getNString("title");
String authors=rs.getString("authors");
String abstract_text=rs.getNString("abstract_text");
String original_link=rs.getNString("original_link");
String keywords=rs.getString("keywords");
int year=rs.getInt("year");
cvprs[i]=new cvpr(id,title,authors,abstract_text,original_link,keywords,year,abstract_text);
i++;
}
con.close();
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return i;
}
public static int getcount1(String s)
{
String[] str=new String[100];
int si=0;
for (String retval: s.split(" ")){
str[si]=retval;
si++;
}
int i=0;
int j=0;
try {
//注册JDBC驱动程 序
Class.forName(driver);
//建立连接
con = DriverManager.getConnection(url, user, password);
if (!con.isClosed()) {
System.out.println("数据库连接成功");
}
Statement stmt = con.createStatement();
ResultSet rs = null;
//System.out.println("select * from papers where papers.keywords LIKE '%Learning%' or papers.keywords LIKE '%Asking%';");
// 必须要写入id值,否则插入错误,建立数据库时,不是设置id值自动,为何还必须写入???
String sql = "select count(*) from papers where papers.keywords LIKE ";
for(int k=0;k<si;k++)
{
str[k]=captureName(str[k]);
sql=sql+"'%"+str[k]+"%'";
if(k!=si-1)
{
sql=sql+" or papers.keywords LIKE ";
}
else{
sql=sql+";";
}
//System.out.println(sql);
}
PreparedStatement pst = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理
rs=pst.executeQuery();
if(rs.next()) {
i=rs.getInt(1);
System.out.println("count:"+i);
}
pst.executeUpdate();
stmt.executeUpdate(sql);
con.close();
System.out.println("insert success!");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动没有安装");
} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
return i;
}
}