精华内容
下载资源
问答
  • 2020-10-21 17:11:50

    Java实体类:是指与数据库中相对应的表,成一一对应关系,实体类中的字段包括字段名和字段类型,往数据库中存的是字段值单个的。业务复杂的情况下,需要实体类中还要包含List<实体类>,举例来说,问题表中有问题Id,题目标题,题目类型,题目内容,关键点就在这里题目内容,题目内容中又包括题目编号、题目内容,前端返回的是List<实体类>,这个实体类就需要单独写一个(属性与属性值包括题目编号与题目内容)简单来说比如有单选、多选、判断题,出题的人肯定要写题目内容,比如选项1、选项2,等等,这些就是题目内容,题目内容与题号就是一个实体类,也就是实体类中又有实体类。前端传过来的数据是List 然而往数据库中存数据的时候不可能将list存入到数据库中,肯定要将list这个集合进行遍历,拿出其中的题题编号与题目内容,之后再存到数据库,存的时候也有些复杂,将两个数据内容拼接成一个字符串,[1@一年一度];[2@一年三度];这就是根据[ @ 拼接成一个字符串存入到数据库中。当然有存就有取,a实体类:是指与数据库中相对应的表,成一一对应关系,实体类中的字段包括字段名和字段类型,往数据库中存的是字段值单个的。业务复杂的情况下,需要实体类中还要包含List<实体类>,举例来说,问题表中有问题Id,题目标题,题目类型,题目内容,关键点就在这里题目内容,题目内容中又包括题目编号、题目内容,前端返回的是List<实体类>,这个实体类就需要单独写一个(属性与属性值包括题目编号与题目内容)简单来说比如有单选、多选、判断题,出题的人肯定要写题目内容,比如选项1、选项2,等等,这些就是题目内容,题目内容与题号就是一个实体类,也就是实体类中又有实体类。前端传过来的数据是List 然而往数据库中存数据的时候不可能将list存入到数据库中,肯定要将list这个集合进行遍历,拿出其中的题题编号与题目内容,之后再存到数据库,存的时候也有些复杂,将两个数据内容拼接成一个字符串,[1@一年一度];[2@一年三度];这就是根据[ @ 拼接成一个字符串存入到数据库中。当然有存就有取,到数据库中就要取数据了,取也就是查询数据,查询也分条件查询和通过id获取详情,先说通过id 查询,也就是要前端传过来id,重点是给前端返回数据的时候,将我们存到数据库中的字符串[1@一年一度];[2@一年三度];,要进行转化之后,字符串的分割,也就是要进行循环遍历,取出其中的题目编号和选项内容,存入List<实体类中>,将list返回给前端。接下来就是修改了,修改要将问题与问题内容显示在页面上,用户修改完毕后插入到数据库中,本质还是添加问题,前端修改完毕后,将数据传送过来,传过来的还是List<实体类>集合。还是需要和添加一样的操作,继续将LIst进行循环遍历取出其中的值,之后进行字符串的拼接,存入到数据库中。接下来说的就是删除操作,在数据量这么的时代中,有用的数据多之珍珠,但是没用的数据也多如沙子,数据的删除肯定要单个删除和批量删除都有,这个简单就需要sal语句控制,mybatis操作。
    下面展示代码

    这就是实体类中在加入实体类并加入她的getset方法。
        private List<SurveyQuestionitemValParam> itemvalList = new ArrayList<>();
        
    
    通过ID获取详情 主要代码 操作的就是实体类中的List实体类。
     List<SurveyQuestionitemValParam> itemvalList = surveyQuestionitem.getItemvalList();
           if(CollectionUtils.isEmpty(itemvalList) || itemvalList==null){
               return AjaxResult.error("选项内容不能为空");
           }
    
           String str="";
           int i = 1;
           for(SurveyQuestionitemValParam itemval : itemvalList){
               itemval.setValSeq((i)+"");
               i++;
                str = str + "["+itemval.getValSeq()+"@"+itemval.getValName()+"];";
           }
            surveyQuestionitem.setItemval(str);
            return toAjax(surveyQuestionitemService.insertSurveyQuestionitem(surveyQuestionitem));
    
    批量删除 Controller
     public AjaxResult remove(@PathVariable String[] questionIds)
        {
            return toAjax(surveyQuestionitemService.deleteSurveyQuestionitemByIds(questionIds));
    }
    对应的sql语句
    <detele id="deleteSurveyQuestionitemByIds" parameterType="String">
            update survey_questionitem where question_id in
            <foreach item="questionId" collection="array" open="(" separator="," close=")">
                #{questionId}
            </foreach>
        </delete>
        
    
    更多相关内容
  • Java JDBC连接数据库实现增删改查

    千次阅读 2020-06-29 13:30:30
    Java JDBC实现数据库增删改查前言文件结构在util包下新建DBUtil在bean包下新建User在dao包下新建UserDao新建Test解释一下bean包、dao包 前言 接着上一篇文章,增删改查的整合版本 文件结构 在util包下新建...


    前言

    JDBC代表Java数据库连接。JDBC库中所包含的API通常与数据库使用于:连接到数据库创建SQL或MySQL语句,在数据库中执行SQL或MySQL,查看和修改数据库中的数据记录。


    JDBC环境准备

    • 普通Java项目,在lib中粘贴此包(在官网上下),版本无所谓

    官网下载 系统选择platform那个
    在这里插入图片描述

    jar包存放位置,项目根目录下的lib文件夹
    在这里插入图片描述

    • 如果是Maven或者Gradle或者Spring项目。不需要引入上面的jar包,直接在依赖里面写(Maven为例)
    	   <!--mysql驱动-->
           <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>8.0.27</version>
           </dependency>
    

    除上述环境配置外,还需要建立一个数据库,我使用的是SQLyog,假设创建一个数据库:wzsxy,在这个数据库上创建一张表:tb_user,并输入两条起始数据。如图在这里插入图片描述

    基本操作

    实现数据库的查询

    新建Find类

    import java.sql.*;
    
    public class Find {
        public static void main(String[] args) throws SQLException, ClassNotFoundException {
            //1、加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2、创建连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            //3、写SQL语句
            String sql="select * from tb_user";
            //4、获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //5、执行SQL语句 得到结果集
            ResultSet resultSet = statement.executeQuery();
            //6、处理结果集
            while (resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));
    
            }
            //7、关闭资源
            resultSet.close();
            statement.close();
            connection.close();
        }
    }
    

    在这里插入图片描述

    实现数据库的删除

    新建Delete类

    import java.sql.*;
    
    public class Delete {
        public static void main(String[] args) throws SQLException, ClassNotFoundException {
            //1、加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2、创建连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            //3、写SQL语句
            String sql="delete from tb_user where id=2";
            //4、获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //5、执行SQL语句 得到结果集
            statement.executeUpdate();
            //6、处理结果集
    
            //7、关闭资源
            statement.close();
            connection.close();
        }
    }
    

    运行后在数据库中刷新表以后,发现id为“2”的用户被删除
    在这里插入图片描述
    在这里插入图片描述

    实现数据库的增添

    新建Add类,在SQL语句中输入要增加的信息

    import java.sql.*;
    
    public class Add {
        public static void main(String[] args) throws SQLException, ClassNotFoundException {
            //1、加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2、创建连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            //3、写SQL语句
            String sql="INSERT INTO tb_user (username,PASSWORD) VALUES ('JinZiyi','123456')";
            //4、获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //5、执行SQL语句 得到结果集
            statement.executeUpdate();
            //6、处理结果集
    
            //7、关闭资源
            statement.close();
            connection.close();
        }
    }
    

    运行打开数据库刷新,发现数据增加成功
    在这里插入图片描述

    实现数据库数据的修改

    新建Update类

    import java.sql.*;
    
    public class Update {
        public static void main(String[] args) throws SQLException, ClassNotFoundException {
            //1、加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2、创建连接
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            //3、写SQL语句
            String sql="UPDATE tb_user SET username='JinZiyi',PASSWORD='000000' WHERE id=2";
            //4、获得statement对象
            PreparedStatement statement=connection.prepareStatement(sql);
            //5、执行SQL语句 得到结果集
            statement.executeUpdate();
            //6、处理结果集
    
            //7、关闭资源
            statement.close();
            connection.close();
        }
    }
    

    刷新数据库后可见数据修改成功
    在这里插入图片描述


    整合增删改查的代码,封装为一个工具类

    在这里插入图片描述

    在util包下新建DBUtil类

    将JDBC的基本步骤的1、2、7步放入DBUtil类中,代码中使用了try…catch,也可以直接idea自动生成抛出异常

    package com.XuYijie.util;
    
    import java.sql.*;
    
    public class DBUtil {
        public static Connection getConnection(){
            //1、加载驱动
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            //2、创建连接
            Connection connection = null;
            try {
                connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/wzsxy","root","123456");
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
            System.out.println("创建连接成功");
            return connection;
        }
        //7、关闭资源
        public static void closeAll(ResultSet resultSet, Statement statement,Connection connection) throws SQLException {
            if (resultSet!=null){
                resultSet.close();
            }
            if (resultSet!=null){
                statement.close();
            }
            if (resultSet!=null){
                connection.close();
            }
        }
    }
    

    在bean包下新建User类

    定义id、username、password,生成所有的get、set方法和构造方法,并重写toString

    package com.XuYijie.bean;
    
    public class User {
        public User() {
        }
    
        private int id;
        private String username;
        private String password;
    
        public User(int id, String username, String password) {
            this.id = id;
            this.username = username;
            this.password = password;
        }
    
        public User(String username, String password) {
            this.username = username;
            this.password = password;
        }
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        @Override
        public String toString() {
            return "User{" +
                    "id=" + id +
                    ", username='" + username + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }
    }
    

    在dao包下新建UserDao类

    package com.XuYijie.dao;
    
    import com.XuYijie.bean.User;
    import com.XuYijie.util.DBUtil;
    
    import java.sql.*;
    import java.util.ArrayList;
    import java.util.List;
    
    public class UserDao {
    
        public List<User> findAll(){
            Connection connection= null;
            List<User> userList=new ArrayList<>();
            PreparedStatement statement=null;
            ResultSet resultSet =null;
            try {
                //2、创建连接
                connection = DBUtil.getConnection();
                //3.写sql语句
                String sql="select * from tb_user";
                //4.获得statement对象
                statement=connection.prepareStatement(sql);
                //5.执行sql 得到结果集
                resultSet = statement.executeQuery();
                //6.处理结果集
                while (resultSet.next()){
                    User user=new User();
                    user.setId(resultSet.getInt(1));
                    user.setUsername(resultSet.getString(2));
                    user.setPassword(resultSet.getString(3));
                    userList.add(user);
                }
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }finally {
                //7.关闭资源
                try {
                    DBUtil.closeAll(resultSet,statement,connection);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            return userList;
        }
    
        public void deleteById(int id){
            Connection connection= null;
            PreparedStatement statement=null;
            try {
                //2、创建连接
                connection = DBUtil.getConnection();
                System.out.println("创建连接成功");
                //3.写sql语句
                String sql="delete from tb_user where id=5";
                //4.获得statement对象
                statement=connection.prepareStatement(sql);
                //5.执行sql 得到结果集
                statement.executeUpdate();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }finally {
    
                try {
                    DBUtil.closeAll(null,statement,connection);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    
        public void add(User user){
            //2、创建连接
            Connection connection= null;
            PreparedStatement statement=null;
            try {
                connection = DBUtil.getConnection();
                System.out.println("创建连接成功");
                //3.写sql语句
                String sql="INSERT INTO tb_user (username,PASSWORD) VALUES (?,?)";
                //4.获得statement对象
                statement=connection.prepareStatement(sql);
                statement.setString(1,user.getUsername());
                statement.setString(2,user.getPassword());
                statement.executeUpdate();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }finally {
                try {
                    DBUtil.closeAll(null,statement,connection);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    
        public void update(User user){
            //2、创建连接
            Connection connection= null;
            PreparedStatement statement=null;
            try {
                connection = DBUtil.getConnection();
                System.out.println("创建连接成功");
                //3.写sql语句
                String sql="UPDATE tb_user SET username=?,PASSWORD=? WHERE id=?";
                //4.获得statement对象
                statement=connection.prepareStatement(sql);
                statement.setString(1,user.getUsername());
                statement.setString(2,user.getPassword());
                statement.setInt(3,user.getId());
                //5.执行sql 得到结果集
                statement.executeUpdate();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }finally {
                try {
                    DBUtil.closeAll(null,statement,connection);
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
    
        }
    }
    

    新建Test类

    Test用来实现UserDao里面的方法

    package com.XuYijie;
    
    import com.XuYijie.bean.User;
    import com.XuYijie.dao.UserDao;
    
    import java.util.List;
    
    public class Test {
        public static void main(String[] args) {
            UserDao userDao = new UserDao();
            //查询
            List<User> userList = userDao.findAll();
            System.out.println(userList);
            //删除
            userDao.deleteById(4);
            //增添
            User user = new User();
            user.setUsername("HeGuanghui");
            user.setPassword("123456");
            userDao.add(user);
            //修改
            user.setUsername("HeGuanghui");
            user.setPassword("654321");
            userDao.update(user);
        }
    }
    }
    

    然后就可以自己运行试试啦


    结语

    JDBC在现在的正规项目中已经不使用了,但是初学者仍然要了解一些,另外JDBC可以在普通项目中作为临时连接数据库的方法使用,切换方便,非常灵活。

    Spring和Maven操作数据的教程可以看我的传送门,可以在网页上展示数据,有源码,非常简单易懂

    Maven工程实现前后端的数据展示与操作

    展开全文
  • Java操作MongoDB的增删改查,完整项目分享

    千次阅读 热门讨论 2021-12-28 22:19:37
    使用idea,创建SpringBoot项目,详细介绍Java操作MongoDB的增删改查全过程。

    使用idea,创建SpringBoot项目,详细介绍Java操作MongoDB的增删改查全过程。

    目 录

    1.安装MongoDB

    2.idea创建SpringBoot项目

    3.idea连接MongoDB

    4.编写代码

    4.1连接MongoDB配置文件

    4.2实体代码

    4.3dao代码

    4.4service代码

    4.5controller代码

    4.6pom.xml

    5.代码接口测试


    详细分享如下:

    1.安装MongoDB

    这里略,详情请参考《window安装MongoDB详解》博客

    2.idea创建SpringBoot项目

    这里略,详情请参考《idea中基于MongoDB,创建SpringBoot项目》博客

    3.idea连接MongoDB

    这里略,详情请参考《idea安装Mongo Plugin插件,连接MongoDB_一火的专栏-CSDN博客》博客

    4.编写代码

    4.1连接MongoDB配置文件

    spring.data.mongodb.host=127.0.0.1
    spring.data.mongodb.port=27017
    spring.data.mongodb.database=user

    4.2实体代码

    
    import org.springframework.data.annotation.Id;
    import org.springframework.data.mongodb.core.mapping.Document;
    import org.springframework.data.mongodb.core.mapping.Field;
    
    /**
     * 实体层
     */
    @Document(collection="user")
    public class User {
    
        @Id // 指定ID
        private String id;
    
        @Field("name") // 指定域名,覆盖默认
        private String name;
    
        @Field("password") // 指定域名,覆盖默认
        private String password;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
    }
    

    4.3dao代码

    
    @Service
    public class UserDao {
        @Autowired
        private MongoTemplate mongoTemplate;
        public User save(User user) {
            mongoTemplate.insert(user);
            return user;
        }
        public User getById(String id) {
            return mongoTemplate.findById(id, User.class);
        }
        public User deleteById(String id) {
            User user = mongoTemplate.findById(id, User.class);
            mongoTemplate.remove(user);
            return user;
        }
    
        public User update(User user) {
            mongoTemplate.save(user);
            return user;
        }
    
        public List<User> getAllUsers() {
            return mongoTemplate.findAll(User.class);
        }
    
        public Map<String, Object> query(String userName,  int page,  int size) {
    
            // 条件
            Criteria criteria1 = Criteria.where("name").is(userName);
            Query query = new Query();
            if (userName!= null) {
                query.addCriteria(criteria1);
            }
    
            // 数量
            long total = mongoTemplate.count(query, User.class);
    
            // 分页
            query.skip((page - 1) * size).limit(size);
    
            List<User> data = mongoTemplate.find(query, User.class);
            Map<String, Object> map = new HashMap<String, Object>();
    
            map.put("data", data);
            map.put("total", total);
    
            return map;
        }
    
    
    
    }

    4.4service代码

    
    @Service
    public class UserService {
        @Autowired
        private UserDao userDao;
        public User save(User user) {
            return userDao.save(user);
        }
        public User getById(String id) {
            return userDao.getById(id);
        }
        public User deleteById(String id) {
            return userDao.deleteById(id);
        }
    
        public User update(User user) {
            return userDao.update(user);
        }
    
        public List<User> getAllUsers() {
            return userDao.getAllUsers();
        }
    
        public Map<String, Object> query(String userName, int page, int size) {
            return userDao.query(userName,page,size);
        }
    }
    

    4.5controller代码

    @RestController
    @RequestMapping("/user")
    @EnableSwagger2
    public class UserController {
    
        @Autowired
        private UserService userService;
    
        /**
         * 增加
         * @param user
         * @return
         */
        @PostMapping("/insert")
        @ApiOperation (value = "insert",notes = "插入")
        public User insertUser(User user) {
            return userService.save(user);
        }
    
        /**
         * 查询
         * @param id
         * @return
         */
        @GetMapping("/get/{id}")
        @ApiOperation (value = "get",notes = "查询")
        public User getUserById(@PathVariable String id) {
            return userService.getById(id);
        }
    
        /**
         * 删除
         * @param id
         * @return
         */
        @DeleteMapping("/delete/{id}")
        @ApiOperation (value = "delete",notes = "删除")
        public User deleteUserById(@PathVariable String id) {
            return userService.deleteById(id);
        }
    
        /**
         * 修改
         * @param user
         * @return
         */
        @PutMapping("/update")
        @ApiOperation (value = "update",notes = "修改")
        public User updateUser(User user) {
            return userService.update(user);
        }
    
        /**
         * 查询所有的用户
         * @return
         */
        @GetMapping("/get/all")
        @ApiOperation (value = "getAll",notes = "获取所有")
        public List<User> getAllUsers() {
            return userService.getAllUsers();
        }
    
        /**
         * 分页查询用户
         * @param userName
         * @param page
         * @param size
         * @return
         */
        @GetMapping("/select/{page}/{size}")
        @ApiOperation (value = "select",notes = "分页查询")
        public Map<String, Object> selectUserByProperty(String userName, @PathVariable int page, @PathVariable int size) {
            return userService.query(userName,page,size);
        }
    }

    4.6pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.5.6</version>
    		<relativePath/> <!-- lookup parent from repository -->
    	</parent>
    	<groupId>com.example</groupId>
    	<artifactId>mongodb</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<name>mongodb</name>
    	<description>Demo project for Spring Boot</description>
    	<properties>
    		<java.version>1.8</java.version>
    	</properties>
    	<dependencies>
    		<dependency>
    			<groupId>io.springfox</groupId>
    			<artifactId>springfox-swagger2</artifactId>
    			<version>2.9.2</version>
    		</dependency>
    		<!-- 接口API生成html文档 -->
    		<dependency>
    			<groupId>io.springfox</groupId>
    			<artifactId>springfox-swagger-ui</artifactId>
    			<version>2.6.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-data-mongodb</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    			<version>5.3.14</version>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-webmvc</artifactId>
    			<version>5.3.14</version>
    		</dependency>
    		
    		
    	</dependencies>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    
    </project>
    

    5.代码接口测试

    访问​​​​​​http://localhost:8080/swagger-ui.html出现如下界面:

     下面使用新增接口举例说明,其他接口类似

     

    完整项目地址 www.zrscsoft.com/sitepic/12146.html

    展开全文
  • 今天就教大家怎么简单搭建一个用springboot的增删改查项目。测试用postman实现。自己动手做的时候可能也会踩坑,后面把过程中踩坑,注意事项告诉大家。 数据库准备 create table student( id int auto_increment ...

    springboot是java中最实用,当前也是最流行的框架,mybaits对应dao层。想要做项目springboot和mybaits是必须的。今天就教大家怎么简单搭建一个用springboot的增删改查项目。测试用postman实现。自己动手做的时候可能也会踩坑,后面把过程中踩坑,注意事项告诉大家。

    数据库准备

    create table student(
    id int auto_increment PRIMARY KEY,
    age int(20),
    name varchar(20), 
    sex varchar(20)
    );

     我的项目目录是这样的大家可以参考一下,初学者springbootapplication的启动类位置放的不对也会报错。记住,要放在你的controller service entity repository 等目录的同一层

    首先写好配置文件 application.properties

    (1)

    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/springboot
    spring.datasource.username=root
    spring.datasource.password=root
    
    
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    
    mybatis.type-aliases-package=com.xue
    
    
    mybatis.mapper-locations=classpath:mapper/*.xml

     配置文件优先级 properties大于yml 这点这点注意

    (2)实体类,get set tostring 方法

    public class Employee {
    
       private Integer id;
       private String  name;
       private String age;
       private String sex;
    
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getAge() {
            return age;
        }
    
        public void setAge(String age) {
            this.age = age;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        @Override
        public String toString() {
            return "Employee{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", age='" + age + '\'' +
                    ", sex='" + sex + '\'' +
                    '}';
        }
    }
    

    (3)先写dao层(mapper层)

    public interface EmployeeMapper {
    
        public List<Employee> EmployeeList();
    
         public int insert(Employee employee);
    
         public int deleteId(int id);
    
         public Employee getEmployee(int id);
    
         public int update (Employee employee);
    
    
    }
    

    (4)再写service层 service接口和service的继承类

    public interface EmployeeService {
    
    
        public List<Employee> EmployeeList();
    
        public int insert(Employee employee);
    
        public int deleteId(int id);
    
        public Employee getEmployee(int id);
    
        public int update (Employee employee);
    
    }
    
    @Service
    public class EmployeeServiceImpl implements EmployeeService {
        @Autowired
        private EmployeeMapper employeeMapper;
    
        @Override
        public List<Employee>  EmployeeList(){
            return employeeMapper.EmployeeList();
    
        }
    
        @Override
        public int insert(Employee employee) {
            int result = 0;
            try {
                result=employeeMapper.insert(employee);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
    
        }
    
        @Override
        public int deleteId(int id) {
            int result = 0;
            try {
                result= employeeMapper.deleteId(id);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
    
    
        }
    
        @Override
        public Employee getEmployee(int id) {
    //            result = 0;
    //        try {
    //            result = employeeMapper.getEmployee(id);
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //        }
    
    //        return result;
            return employeeMapper.getEmployee(id);
        }
    
        @Override
        public int update(Employee employee) {
           int  result =0;
            try {
                result =employeeMapper.update(employee);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
    
        }
    
    
    }
    

    (5)再写comtroller层

    @RestController
    @RequestMapping("/emp")
    public class EmployeeController {
    
        @Autowired
        private EmployeeService es;
        @RequestMapping("/list")
    
        public List<Employee>  EmployeeList(){
            return es.EmployeeList();
    
    
        }
    
        @PostMapping("/insert")
    
       public int insert(Employee employee){
            return es.insert(employee);
    
    
       }
       @PostMapping("/delete")
    
       public int deleteId(int id){
            return es.deleteId(id);
    
    
       }
    
       @GetMapping("/getemployee")
    
       public Employee getEmployee(int id){
    
            return es.getEmployee(id);
    
    
       }
       @PostMapping("/update")
    
       public int update(Employee employee){
    
            return  es.update(employee);
       }
    

    (7)springboot启动类

    @SpringBootApplication
    @MapperScan("com.xue.repository.dao") //自动扫描com.xue.repository.dao下的文件
    public class SpringbootLoginApplication {
    
    	public static void main(String[] args) {
    		SpringApplication.run(SpringbootLoginApplication.class, args);
    	}
    
    }
    

    (6)编写 xml配置文件

    <?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">
    
    <mapper namespace="com.xue.repository.dao.EmployeeMapper">
    
      <resultMap type="Employee" id="StudentWithAddressResult">
        <id property="id" column="id" />
        <result property="age" column="age" />
          <result property="name" column="name" />
          <result property="sex" column="sex" />
      </resultMap>
    <!--  <select id="selectStudentWithAddress" parameterType="int"-->
    <!--          resultMap="StudentWithAddressResult">select *  from student-->
    <!--</select>-->
        <select id="EmployeeList" resultType="com.xue.entity.Employee">
      		select * from student
      	</select>
    
    
    <!--<insert id="insert" parameterMap="com.xue.entity.Employee" >-->
    <!--        insert into student (id,name,age,sex) values (#{id},#{name},#{age},#{sex});-->
    <!--</insert>-->
    <!--    <insert id="insert" parameterType="com.xue.entity.Employee"-->
    <!--            useGeneratedKeys="true" keyProperty="id">-->
    <!--  		insert into student (name,age,sex) values (#{name},#{age},#{sex});-->
    <!--  	</insert>-->
        <insert id="insert" parameterType="com.xue.entity.Employee">
    
      		insert into student (name,age,sex) values (#{name},#{age},#{sex});
      	</insert>
    
        <delete id="deleteId"  parameterType="java.lang.Integer">
            delete from student where id= #{id};
    
        </delete>
    
        <select id="getEmployee" resultType="com.xue.entity.Employee">
      		select * from student where id = #{id}
      	</select>
    
        <update id="update" parameterType="com.xue.entity.Employee">
      		update student set
      		name= #{name},age=#{age},sex=#{sex}
      		where id= #{id}
      	</update>
    </mapper>

    基本完成,后面用postman 测试一下。或者浏览器也行。

    源码更新后会上传 

    源码: javaspringboot加mybaits简单增删改查案例,源码。-Java文档类资源-CSDN下载

    展开全文
  • java连接数据库增删改查Dao方法entity实体类 表结构: dao----->下放UserDao(数据库中user表的专门的增删改查,专门针对某一个表的增删改查) entity—>下放数据库中的创建类,数据库中有多少字段就private ...
  • Javaweb实现增删改查操作操作

    万次阅读 多人点赞 2019-09-21 09:47:19
    Javaweb实现增删改查操作操作 一:准备工作 1:Idea编辑器(eclispe和myeclispe都可以,个人推荐使用idea),新建一个web项目 2:数据库mysql 3:需要提前了解的知识点 servlet el和jstl表达式 项目的基本的框架实现...
  • SSM框架:利用测试类实现增删改查(eclipse版本) ** Eclipse版本 之前在网上学习的时候看到了许多的SSM框架的文章(因为刚刚接触这个框架,所以弄了很久),我写了一个测试增删改查的demo 下面是目录结构(还在自学...
  • 使用SSM+Vue前后端分离开发实现增删改查(超详细)

    千次阅读 多人点赞 2021-08-17 09:29:59
    00x0 目标 学习前提 教程亮点与难点 00x1 后端代码实现 步骤总览 步骤实现 1、功能需求分析 2、新建数据库表 3、SSM后台代码实现 编写Product.java 编写ProductController.java ...1、编写增删改查前端代码
  • MVC架构(Model(实体类),Service,Controller层) Controller(接收参数调用业务层)–>Service(调用持久层,处理业务逻辑)–>Dao(与数据库交互) 1. IOC(控制反转是一种设计思想而不是技术) DI(依赖注入):是IOC...
  • SpringBoot-springboot data jpa实现增删改查 开发工具:Spring Tool Suite(STS) 运行环境:JDK1.8, MySQL5.7,Tomcat8.5 使用技术:SpringBoot+spring data jpa 步骤 一、新建项目 勾选依赖:lombok、spring ...
  • springboot+vue实现增删改查+分页查询

    千次阅读 多人点赞 2021-09-20 11:29:07
    Result:已经封装好了三种返回类型的包装:code,msg,data 2:创建数据库叫mytest(可以自己取名字) CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '序号', `name` varchar(20) ...
  • IDEA使用springboot+mybatis实现增删改查(CRUD)功能
  • 图片中直接用实体类接收会很方便,表单的字段和实体类的字段必须一致。 dao接口-接收到信息后就可以调用服务的接口。 数据层接口-mybatis自动映射机制会找到xml文件下的sql。 ​BbsBrandMapper.xml-sql语句写在这里 ...
  • java-8.0.21.jar包复制进去2、将jar包加入到项目中三、hello world效果确保在计算机上安装好MySQL数据库四、连接测试是否连接成功数据库五、开始正式进入JSP页面实现数据库的增删改查1、需要创建一个Student.java,...
  • Java 数据库 表 对象 一行数据(表中的某行数据) 属性 列(一行数据中的某个列) 常见的ORM hibernate 优点 简化了整个jdbc操作过程 开发者不需要关系sql,只需要操作对象,因为hibernate可以自动...
  • 1、三层架构表现层 web层(MVC是一个表现层的设计模型)业务层 service层持久层 dao层2、三大框架和三层架构的关系...它是一个表现层框架spring框架:它是一个综合框架hibernate只能操作数据库(跟数据库打交道)3...
  • springboot整合jpa实现增删改查

    千次阅读 2022-04-13 21:31:49
    JPA是一套Java官方制定的ORM 方案,是Java的一个规范 。Spring Data JPA是对基于 JPA 的数据访问层的增强支持。 应用JPA的主流框架:Hibernate (JBoos)、EclipseTop(Eclipse社区)、OpenJPA (Apache基金会)。 ...
  • 开发访问顺序实现CRUD的步骤及用户实体映射文件1、 用户实体类及映射文件:Usre.java 和 User.hbm.xml2、 实现UserDao、UserDaoImpl,直接继承...4、 UserAction中要实现增删改查,需要6个方法;我们约定需要跳转...
  • 说下实现简单增删改查的步骤: 1、创建一个springboot工程 官网是这样说的: 2、添加依赖 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/...
  • } } 2-3,在src/java/com.example.book_springboot目录下创建pojo实体类文件夹,然后在文件夹创建实体类:Book package com.example.book_springboot.pojo; public class Book { private int bookId; private ...
  • 4.创建数据库表对应实体类 package com.hxci.hyc.pojo; public class Customer { private Integer id; private String username; private String jobs; private String phone; public Integer getId() { return id; ...
  • 1.思路 pojo实体类->mapper接口->mybatis配置->controller层(此处省略了service层),目录结构如下: 2.代码模块 1.pojo层 students类 package com.jiang.pojo; import lombok.AllArgsConstructor; import lombok....
  • 主要用来实现Java和数据库表之间的映射,除此之外还提供数据查询和数据获取的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间,解放编程人员95%的任务。2.什么是ORM Object-Relational-Mapping对象关系...
  • Mybatis注解开发---实现增删改查

    千次阅读 2022-04-01 16:02:01
    编写User实体类 4. 编写UserMapper public interface UserMapper { @Insert("insert into user values (#{id},#{username},#{password}") public void save(User user); @Update("update user set username=#{...
  • Mybatis-Plus实现简单的增删改查

    千次阅读 2022-03-23 21:17:08
    Mybatis-Plus实现简单的增删改查
  • springboot整合Mybatis实现增删改查

    千次阅读 2020-10-27 12:25:51
    你还不会算我输~ springboot整合mybatis、注解和xml实现增删改查
  • 搭建ssm下增删改查框架(增删改查代码)
  • SpringBoot整合Thymeleaf实现增删改查分页 哔哩哔哩链接:https://www.bilibili.com/video/BV1wy4y1J7Zf?p=1 效果展示 我们输入 http://localhost:8080/ 进入主界面, 可以输入用户名进行搜索、可以新增、编辑、...
  • 由于我的数据库版本较新所以驱动的链接跟你们的不太一样 com.mysql.cj.jdbc.Driver 老一点的把.cj去掉就好 总结 以上就是使用IDEA搭建一个MyBatis框架的步骤,现在只是一个简简单单的框架,实现增删改查的功能,...
  • Mybatis——增删改查实现

    千次阅读 2022-04-10 10:19:05
    注意:删改时一定要提交事务 代码 // 提交事务 sqlSession.commit(); 1.namespace-命名空间 namespace中的全限定名(包名+类名)要和Dao/Mapper接口的全限定名(包名+类名)一致 2.select 选择,查询语句 属性 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,266
精华内容 10,506
关键字:

java编写实体类实现增删改查

java 订阅