发表于: 2019-11-18 21:41:38
1 938
今天完成的事情
彻底完成 spring jdbctemplate的增删改查的相关代码
项目目录
具体代码:
public class StudentJDBCTemplate {
private DataSource dataSource;
private JdbcTemplate jdbcTemplateObject;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplateObject = new JdbcTemplate(dataSource);
}
public void create(Integer id,String name, Integer qq ) {
String SQL = "insert into Student (id,name, qq ) values (?,?, ?)";
jdbcTemplateObject.update( SQL, id,name, qq );
System.out.println("Created Record id ="+id+ " Name = " + name + " qq = " + qq );
return;
}
public void add(String name, Integer qq ) {
String SQL = "insert into Student (name, qq ) values (?, ?)";
jdbcTemplateObject.update( SQL, name, qq );
System.out.println("Created Record Name = " + name + " qq = " + qq );
return;
}
public Student getStudent(Integer id) {
String SQL = "select * from Student where id = ?";
Student student = jdbcTemplateObject.queryForObject(SQL,
new Object[]{id}, new StudentMapper());
return student;
}
public List<Student> listStudents() {
String SQL = "select * from Student";
List <Student> students = jdbcTemplateObject.query(SQL, new StudentMapper());
return students;
}
public void delete(Integer id){
String SQL = "delete from Student where id = ?";
jdbcTemplateObject.update(SQL, id);
System.out.println("Deleted Record with ID = " + id );
return;
}
public void update(Integer id, Integer qq ){
String SQL = "update Student set qq = ? where id = ?";
jdbcTemplateObject.update(SQL, qq , id);
System.out.println("Updated Record with ID = " + id );
return;
}
}
public class StudentMapper implements RowMapper<Student> {
public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("qq"));
return student;
}
}
public class Student {
private Integer qq;
private String name;
private Integer id;
@Override
public String toString() {
return "Student{" +
"age=" + qq +
", name='" + name + '\'' +
", id=" + id +
'}';
}
public void setAge(Integer age) {
this.qq = age;
}
public Integer getqq() {
return qq ;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
}
public class MainApp {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
StudentJDBCTemplate studentJDBCTemplate =
(StudentJDBCTemplate)context.getBean("studentJDBCTemplate");
// //创建学生
// System.out.println("------Records Creation--------" );
// studentJDBCTemplate.create(5,"小明",006151441);
// studentJDBCTemplate.create(6,"Nuha", 244003144);
// studentJDBCTemplate.create(7,"Ayan", 1599444);
// System.out.println("------Listing Multiple Records--------" );
//添加学生,不想要设置主键id
System.out.println("------add Records -------" );
studentJDBCTemplate.add("小明",006151441);
studentJDBCTemplate.add("Nuha", 244003144);
studentJDBCTemplate.add("Ayan", 1599444);
System.out.println("------Listing Multiple Records--------" );
//查询所有
List<Student> students = studentJDBCTemplate.listStudents();
for (Student record : students) {
System.out.print("ID : " + record.getId() );
System.out.print(", Name : " + record.getName() );
System.out.println(", Age : " + record.getqq());
}
//修改qq
System.out.println("----Updating Record with ID = 2 -----" );
studentJDBCTemplate.update(2, 201908);
System.out.println("----Listing Record with ID = 2 -----" );
Student student = studentJDBCTemplate.getStudent(2);
System.out.print("ID : " + student.getId() );
System.out.print(", Name : " + student.getName() );
System.out.println(", Age : " + student.getqq());
//删除
System.out.println("----delete Record with ID = 3-----" );
studentJDBCTemplate.delete(3);
System.out.println("----删除成功 -----" );
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">
<!-- Initialization for data source -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</bean>
<!-- Definition for studentJDBCTemplate bean -->
<bean id="studentJDBCTemplate"
class="com.jdbc.dao.StudentJDBCTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
</beans>
<properties>
<spring-version>5.2.1.RELEASE</spring-version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
今天遇到的问题
1.maven配置依赖配置不了
解决方法:包太老了,找不到相应的资源,换一个新一点的包,注意包的日期
2.执行时报错
翻译搜索说是时区问题,参考下图解决
3.连接mysql以后进行增删改查时中文数据出现?乱码
解决方法,在连接的url指定编码格式
<property name="url" value="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8"/>
?useUnicode=true&(//这里网上说法不一,有的是?连接,有的是&)characterEncoding=utf8"
询问师兄后找到原因,xml的配置文件不会帮你把&转义,所以要写成∓在properties的配置文件里配置url时会帮你自动转义,直接写&就可以了!!!!!!!!!!!
明天要做的事情
学习spring和mybaits,准备开始用mybaits连接数据库,完成相应的增删改查
评论