-
CREATE DATABASE book DEFAULT CHARACTER SET utf8;
CREATE DATABASE book DEFAULT CHARACTER SET utf8;
- 使用该数据库
use book
- 建表(name:书名;zuozhe:作者;cbs:出版社)
create table myBook( name varchar(20), zuozhe varchar(20), cbs varchar(50) );
-
1 <dependencies> 2 <!--Spring相关依赖--> 3 <dependency> 4 <groupId>org.springframework</groupId> 5 <artifactId>spring-context</artifactId> 6 <version>4.3.13.RELEASE</version> 7 </dependency> 8 9 <dependency> 10 <groupId>org.springframework</groupId> 11 <artifactId>spring-jdbc</artifactId> 12 <version>4.2.5.RELEASE</version> 13 </dependency> 14 <!--Mysql驱动--> 15 <dependency> 16 <groupId>mysql</groupId> 17 <artifactId>mysql-connector-java</artifactId> 18 <version>5.1.41</version> 19 </dependency> 20 21 22 </dependencies>
创建Spring的XML文件 :appSpring
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 </beans>
创建entity类
1 package entity; 2 3 public class Book { 4 private String name; //书名 5 private String zuozhe; //作者 6 private String cbs; //出版社 7 8 public Book(){ 9 10 } 11 12 public Book(String name, String zuozhe, String cbs) { 13 this.name = name; 14 this.zuozhe = zuozhe; 15 this.cbs = cbs; 16 } 17 18 public String getName() { 19 return name; 20 } 21 22 public void setName(String name) { 23 this.name = name; 24 } 25 26 public String getZuozhe() { 27 return zuozhe; 28 } 29 30 public void setZuozhe(String zuozhe) { 31 this.zuozhe = zuozhe; 32 } 33 34 public String getCbs() { 35 return cbs; 36 } 37 38 public void setCbs(String cbs) { 39 this.cbs = cbs; 40 } 41 42 @Override 43 public String toString() { 44 return "Book{" + 45 "name='" + name + '\'' + 46 ", zuozhe='" + zuozhe + '\'' + 47 ", cbs='" + cbs + '\'' + 48 '}'; 49 } 50 }
创建dao接口
1 package dao; 2 3 import entity.Book; 4 5 import java.util.List; 6 7 public interface BookDao { 8 void insert(Book book); 9 List<Book> queryAll() ; 10 }
实现dao接口:配置DataSource
-
-
选择dbcp 里面的DataSource实现,这个有连接池功能
-
选择c3p0里面的DataSource实现,这个有连接池功能
-
选择Alibaba里面的实现,这个有连接池功能
1 package dao; 2 3 import entity.Book; 4 5 import javax.sql.DataSource; 6 import java.sql.Connection; 7 import java.sql.PreparedStatement; 8 import java.sql.SQLException; 9 import java.util.List; 10 11 public class BookDaoImpl implements BookDao { 12 13 private DataSource dataSource; 14 15 public void setDataSource(DataSource dataSource) { 16 this.dataSource = dataSource; 17 } 18 19 public Connection getConnection() { 20 Connection connection = null; 21 try { 22 //获取连接对象、XML的配置信息 23 connection = dataSource.getConnection(); 24 } catch (SQLException e) { 25 e.printStackTrace(); 26 } 27 return connection; 28 } 29 30 public void insert(Book book) { 31 Connection connection = getConnection(); 32 String sql = "insert into myBook values(?,?,?)"; 33 try { 34 PreparedStatement preparedStatement = connection.prepareStatement(sql); 35 preparedStatement.setString(1,book.getName()); 36 preparedStatement.setString(2,book.getZuozhe()); 37 preparedStatement.setString(3,book.getCbs()); 38 preparedStatement.executeUpdate(); 39 System.out.println("成功添加一条数据"); 40 connection.close(); 41 } catch (SQLException e) { 42 e.printStackTrace(); 43 } 44 45 } 46 47 public List<Book> queryAll() { 48 return null; 49 } 50 }
编写service
1 package service; 2 3 import dao.StudentDao; 4 import entity.Student; 5 6 public class StudentService { 7 private StudentDao studentDao; 8 9 public StudentDao getStudentDao() { 10 return studentDao; 11 } 12 13 public void setStudentDao(StudentDao studentDao) { 14 this.studentDao = studentDao; 15 } 16 17 public void insert(Student student){ 18 studentDao.insert(student); 19 } 20 }
在XML配置Mysql链接信息,把到dao和service注入Spring,让Spring管理
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 5 6 <!--Mysql配置信息--> 7 <!--Spring提供的一个DataSource的实现:就是DriverManagerDataSource--> 8 <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 9 <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 10 <property name="url" value="jdbc:mysql://localhost:3306/book"/> 11 <property name="username" value="root"/> 12 <property name="password" value="888888"/> 13 </bean> 14 <!--依赖上面的dataSource--> 15 <bean id="bookDao" class="dao.BookDaoImpl" > 16 <property name="dataSource" ref="dataSource"></property> 17 </bean> 18 19 <bean id="bookService" class="service.BookService"> 20 <property name="bookDao" ref="bookDao"></property> 21 </bean> 22 <!-- <bean id="dao" class="dao.BookDaoImpl" autowire="byType" /> 23 <bean id="service" class="service.BookService" autowire="byType"/>--> 24 25 </beans>
Main测试
1 package controller; 2 3 import entity.Book; 4 import org.springframework.context.ApplicationContext; 5 import org.springframework.context.support.ClassPathXmlApplicationContext; 6 import service.BookService; 7 8 public class Main { 9 public static void main(String[] args) { 10 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("appSpring.xml"); 11 BookService bookService = applicationContext.getBean("bookService",BookService.class); 12 Book book = new Book("静待花开","王文韦","南方出版"); 13 bookService.insert(book); 14 Book book2 = new Book("三国","罗贯中","中央出版"); 15 bookService.insert(book2); 16 17 } 18 }