1,准备数据库,创建供增,删,改,查实现操作的mysql数据表books
DROP TABLE IF EXISTS `books`;
CREATE TABLE `books` (
`bkId` int NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`bkCode` int NOT NULL,
`bkName` varchar(30) NOT NULL,
`bkWriter` varchar(30) NOT NULL,
`bkIfSale` enum('是','否') NOT NULL DEFAULT '是',
`bkPrice` float(30, 2) NOT NULL,
`bkTime` date NOT NULL,
`bkInformation` varchar(255) NOT NULL,
PRIMARY KEY (`bkId`) USING BTREE
) ENGINE = InnoDB;
#插入数据:
INSERT INTO `books` VALUES (1, 2021001, '《三国演义》', '罗贯中', '是', 89.90, '2021-03-06', '中国四大名著之一');
INSERT INTO `books` VALUES (2, 2021002, '《水浒传》', '施耐庵', '是', 69.90, '2021-05-31', '中国四大名著之一');
INSERT INTO `books` VALUES (3, 2021003, '《红楼梦》', '曹雪芹', '是', 79.50, '2022-03-06', '中国四大名著之一');
INSERT INTO `books` VALUES (4, 2021002, '《西游记》', '吴晨恩', '是', 89.50, '2022-05-31', '中国四大名著之一');
INSERT INTO `books` VALUES (5, 2021007, '《繁星》', '冰心', '否', 66.50, '2022-11-30', '是冰心的第一部诗集,诗集收入诗人1919年冬至1921年秋所写小诗164首,最初发于北京的《晨报》');
INSERT INTO `books` VALUES (6, 2021002, '《春水》', '冰心', '否', 49.90, '2022-11-28', '这是一本高度赞颂了母爱,自然等事物的诗集');
INSERT INTO `books` VALUES (7, 2021004, '《寄小读者》', '冰心', '是', 59.90, '2022-11-23', '是作家冰心创作的散文集,首次出版于1926年5月');
INSERT INTO `books` VALUES (8, 2021008, '《背影》', '朱自清', '否', 79.90, '2022-12-01', '是现代作家朱自清(1898-1948)于1925年所写的一篇回忆性散文');
INSERT INTO `books` VALUES (9, 2021009, '《春》', '朱自清', '否', 68.50, '2022-11-17', '是现代散文家朱自清的作品。《春》是朱自清的散文名篇,最初发表于1933年7月,此后长期被中国中学语文教材选用');
INSERT INTO `books` VALUES (10, 2021010, '《假如给我三天光明》', '海伦—凯勒', '是', 85.90, '2022-11-19', '是美国当代作家海伦·凯勒的散文代表作。该文的前半部分主要写了海伦变成盲聋人后的生活,后半部分则介绍了海伦的求学生涯');
INSERT INTO `books` VALUES (11, 2021012, '《我的人生故事》', '海伦—凯勒', '是', 53.90, '2022-11-10', '是海伦·凯勒的散文代表作,她以一个身残志坚的柔弱女子的视角,告诫身体健全的人们应珍惜生命,珍惜造物丰赐予的一切');
INSERT INTO `books` VALUES (12, 2021011, '《面朝大海,春暖花开》', '海子', '是', 69.30, '2022-11-21', '是海子于1989年所写的一首抒情诗。全诗共三节,第一节表现了诗人对质朴、单纯而自由的人生境界的向往,对“永恒”、未知世界的探寻精神');
INSERT INTO `books` VALUES (13, 2021013, '《老人与海》', '海明威', '是', 49.90, '2022-10-20', '是美国作家海明威于1951年在古巴写的一篇中篇小说,于1952年出版');
INSERT INTO `books` VALUES (14, 2021015, '《简爱》', '夏洛蒂·勃朗特', '是', 59.90, '2023-03-08', '讲述了这样一个故事:简•爱自幼父母双亡,投靠冷酷的舅母,但舅母无情地抛弃了她。她在一所慈善学校做了六年的学生和两年的教师');
INSERT INTO `books` VALUES (15, 2021016, '《朝花夕拾》', '鲁迅', '是', 49.50, '2023-03-02', '原名《旧事重提》,是现代文学家鲁迅的散文集,收录鲁迅于1926年创作的10篇回忆性散文,1928年由北京未名社出版,现编入《鲁迅全集》第2卷');
INSERT INTO `books` VALUES (16, 2021014, '《再别康桥》', '徐志摩', '否', 29.90, '2023-02-09', '是现代诗人徐志摩的诗作,是新月派诗歌的代表作品。此诗以离别康桥时感情起伏为线索,抒发了对康桥依依惜别的深情');
INSERT INTO `books` VALUES (17, 2021017, '《生命中不能承受之轻》', '米兰·昆德拉', '是', 49.50, '2023-03-10', '是作家米兰·昆德拉创作的长篇小说,首次出版于1984年。该小说描写了托马斯与特丽莎、萨丽娜之间的感情生活');
INSERT INTO `books` VALUES (18, 2021019, '《麦田里的守望者》', '杰罗姆·大卫·塞林格', '是', 39.80, '2023-03-01', '是美国作家杰罗姆·大卫·塞林格创作的唯一一部长篇小说,首次出版于1951年');
INSERT INTO `books` VALUES (19, 2021018, '《我的精神家园》', '王小波', '是', 69.50, '2023-03-08', '是2008年上海文艺出版总社、上海锦秀文章出版社出版的图书,作者是王小波');
INSERT INTO `books` VALUES (20, 2021021, '《活着》', '余华', '是', 69.80, '2023-03-02', '是中国当代作家余华创作的长篇小说,首次发表于《收获》1992年第6期');
INSERT INTO `books` VALUES (21, 2021024, '《美的历程》', '李泽厚', '否', 39.50, '2023-03-28', '本书是中国美学的经典之作。凝聚了作者李泽厚先生多年研究,他把中国人古往今来对美的感觉玲珑剔透地展现在大家眼前,如斯感性,如斯亲切');
INSERT INTO `books` VALUES (22, 2021025, '《四世同堂》', '老舍', '是', 68.90, '2023-02-22', '是中国作家老舍创作的一部百万字的小说。这是一部表现抗战北平沦陷区普通民众生活与抗战的长篇小说,全书共三部');
INSERT INTO `books` VALUES (23, 21030, '《测试》', 'admin', '否', 100000.00, '2001-05-04', '贺星星,21岁,是我国知名作家');
INSERT INTO `books` VALUES (24, 20112, '《星若梦》', 'admin', '否', 39.32, '2021-09-08', '贺星星是一个作家');
SET FOREIGN_KEY_CHECKS = 1;
2,打开IDEA并创建项目JavaEE
#创建实体类Information封装书籍信息:
package com.first.pojo;
import java.sql.Date;
public class Information {
private int bkId;
private int bkCode;
private String bkName;
private String bkWriter;
private String bkIfSale;
private float bkPrice;
private Date bkTime;
private String bkInformation;
@Override
public String toString() {
return "Information{" +
"bkId=" + bkId +
", bkCode=" + bkCode +
", bkName='" + bkName + '\'' +
", bkWriter='" + bkWriter + '\'' +
", bkIfSale=" + bkIfSale +
", bkPrice=" + bkPrice +
", bkTime=" + bkTime +
", bkInformation='" + bkInformation + '\'' +
'}';
}
public int getBkId() {
return bkId;
}
public void setBkId(int bkId) {
this.bkId = bkId;
}
public int getBkCode() {
return bkCode;
}
public void setBkCode(int bkCode) {
this.bkCode = bkCode;
}
public String getBkName() {
return bkName;
}
public void setBkName(String bkName) {
this.bkName = bkName;
}
public String getBkWriter() {
return bkWriter;
}
public void setBkWriter(String bkWriter) {
this.bkWriter = bkWriter;
}
public String getBkIfSale() {
return bkIfSale;
}
public void setBkIfSale(String bkIfSale) {
this.bkIfSale = bkIfSale;
}
public float getBkPrice() {
return bkPrice;
}
public void setBkPrice(float bkPrice) {
this.bkPrice = bkPrice;
}
public Date getBkTime() {
return bkTime;
}
public void setBkTime(Date bkTime) {
this.bkTime = bkTime;
}
public String getBkInformation() {
return bkInformation;
}
public void setBkInformation(String bkInformation) {
this.bkInformation = bkInformation;
}
}
#创建接口InformationMapper,并定义操作方法
package com.first.dao;
import com.first.pojo.Information;
import com.two.pojo.Users;
import java.util.List;
import java.util.Map;
public interface InformationMapper {
//查询列表:
public List<Information> selectBooks();
//增加一条数据:
public int insertBooks(Information information);
//删除数据:
public int deleteBooks(Integer BkId);
//修改一条数据:
public int updateBooks(Information information);
//根据ID查询信息:
public Information selectBooksById(Integer BkId);
}
#创建实现类InformationMapperImpl,实现方法:
package com.first.dao.impl;
import com.first.dao.InformationMapper;
import com.first.pojo.Information;
import com.first.utils.Mybatis;
import org.apache.ibatis.session.SqlSession;
import java.util.List;
import java.util.Map;
public class InformationMapperImpl implements InformationMapper {
@Override
public List<Information> selectBooks() {
SqlSession session= Mybatis.getSqlSession();
return session.selectList("selectBooks");
}
@Override
public int insertBooks(Information information) {
SqlSession session=Mybatis.getSqlSession();
return session.insert("insertBooks",information);
}
@Override
public int deleteBooks(Integer BkId) {
SqlSession session=Mybatis.getSqlSession();
return session.delete("deleteBooks",BkId);
}
@Override
public int updateBooks(Information information) {
SqlSession session=Mybatis.getSqlSession();
return session.update("updateBooks",information);
}
@Override
public Information selectBooksById(Integer bkId) {
SqlSession session=Mybatis.getSqlSession();
return session.selectOne("selectBooksById",bkId);
}
}
#创建Mappers映射文件(namespace路径不要错):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--namespace的值通常为接口的全限定名-->
<mapper namespace="com.first.dao.InformationMapper">
<!-- 根据列表查询信息:-->
<select id="selectBooks" parameterType="Information" resultType="Information">
select * from books
</select>
<!-- 增加信息:-->
<insert id="insertBooks" parameterType="Information">
insert into books (bkId,bkCode,bkName,bkWriter,bkIfSale,bkPrice,bkTime,bkInformation)
values (#{bkId},#{bkCode},#{bkName},#{bkWriter},#{bkIfSale},#{bkPrice},#{bkTime},#{bkInformation})
</insert>
<!-- 删除信息:-->
<delete id="deleteBooks" parameterType="Integer">
delete from books where bkId=#{bkId}
</delete>
<!-- 修改信息:-->
<update id="updateBooks" parameterType="Information">
update books set bkCode=#{bkCode},bkName=#{bkName},bkWriter=#{bkWriter},bkIfSale=#{bkIfSale},bkPrice=#{bkPrice},bkTime=#{bkTime},bkInformation=#{bkInformation} where bkId=#{bkId}
</update>
<!-- 根据ID查询信息:-->
<select id="selectBooksById" parameterType="Integer" resultType="Information">
select * from books where bkId=#{bkId}
</select>
</mapper>
#创建测试类:
import com.first.dao.InformationMapper;
import com.first.dao.impl.InformationMapperImpl;
import com.first.pojo.Information;
import com.first.utils.table.Table;
import org.junit.Test;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class First {
public static void main(String[] args) {
InformationMapper information=new InformationMapperImpl();
List<Information> information1= information.selectBooks();
for (Information o:information1){
System.out.println(o);
}
}
@Test
public void TestInsertBooks(){
Information information=new Information();
information.setBkId(23);
information.setBkCode(21030);
information.setBkName("《测试》");
information.setBkWriter("admin");
information.setBkIfSale("否");
information.setBkPrice(100000);
information.setBkTime(Date.valueOf("2001-05-04"));
information.setBkInformation("admin,21岁,是我国知名作家");
InformationMapper informationMapper=new InformationMapperImpl();
informationMapper.insertBooks(information);
}
@Test
public void TestDeleteBooks(){
InformationMapper information=new InformationMapperImpl();
information.deleteBooks(23);
}
@Test
public void TestUpdateBooks(){
Information information=new Information();
information.setBkId(40);
information.setBkCode(21030);
information.setBkName("《星辰大海》");
information.setBkWriter("admin");
information.setBkIfSale("是");
information.setBkPrice(100000);
information.setBkTime(Date.valueOf("2001-05-04"));
information.setBkInformation("admin,21岁,是我国知名作家");
InformationMapper informationMapper=new InformationMapperImpl();
informationMapper.updateBooks(information);
}
@Test
public void TestSelectBooksById(){
InformationMapper information=new InformationMapperImpl();
Information informations= information.selectBooksById(3);
System.out.println(informations);
}
}
#运行结果如下
--为了美观特意添加了Swing窗体,具体窗体代码在关联查询里有JFrame代码
