2023年8月3日发(作者:)

JdbcTemplate(增删改查以及以注释实现增删改查)JdbcTemplate介绍  为了使 JDBC 更加易于使⽤,Spring 在 JDBCAPI 上定义了⼀个抽象层,  以此建⽴⼀个JDBC存取框架,Spring Boot Spring Data-JPA。  作为 SpringJDBC 框架的核⼼, JDBC 模板的设计⽬的是为不同类型的JDBC操作提供模板⽅法.  每个模板⽅法都能控制整个过程,并允许覆盖过程中的特定任务。  通过这种⽅式,可以在尽可能保留灵活性的情况下,将数据库存取的⼯作量降到最低。JdbcTemplate⽅法介绍  execute⽅法:    可以⽤于执⾏任何SQL语句,⼀般⽤于执⾏DDL语句;  update⽅法:    update⽅法⽤于执⾏新增、修改、删除等语句;  query⽅法:    ⽤于执⾏查询相关语句;  call⽅法:    ⽤于执⾏存储过程、函数相关语句。注意:  使⽤JdbcTemplate完成对数据库的操作⼗分易⽤,可以和Spring框架做到⾮常完美的整合  JdbcTemplate仅仅只能⽀持简单的SQL操作,不⽀持关联映射和属性注⼊,所以在SQL⽅向的操作我们仍需使⽤MyBatis!⼩例⼦(增删改查)  查:  步骤⼀:导⼊依赖 framework spring-jdbc E mysql mysql-connector-java 5.1.32   步骤⼆:创建实体类public class Student { private Integer stuid; private String stuname; private Integer age; public Integer getStuid() { return stuid; } public void setStuid(Integer stuid) { = stuid; } public String getStuname() { return stuname; } public void setStuname(String stuname) { e = stuname; } public Integer getAge() { return age; } public void setAge(Integer age) { = age; }  步骤三:DAO层public interface IStudentdao { //查询所有学⽣的⽅法 public List allstu();}  步骤四:DAO层实现类public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //查询 @Override public List allstu() { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); String sql="select * from student"; //执⾏查询操作 List query = (sql, new RowMapper() { *//** * * @param rs 结果集 * @param rowNum 当前⾏ * @return ⽅法返回值 * @throws SQLException *//* @Override public Student mapRow(ResultSet rs, int rowNum) throws SQLException { Student stu = new Student(); id(("stuid")); name(ing("stuname")); (("age")); return stu; }      /*      //⾃动映射(可省略上⽅的query⽅法)      RowMapper rowMapper= new BeanPropertyRowMapper<>();      List query = (sql, rowMapper);      */    }); return query; }}  步骤五:Service层public interface IStudentservice { //查询所有学⽣的⽅法 public List allstu();}  步骤六:Service实现层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public List allstu() { return (); }}  步骤七:⼤配置⽂件(jdbc四个配置)==jdbc:mysql://localhost:3306/student?useUniCode=true&characterEncoding=utf-8&zeroDateTimeBehavior=me=rd=123          步骤⼋:测试@Test public void Demo01(){ApplicationContext atc=new ClassPathXmlApplicationContext(""); IStudentservice stu = (IStudentservice)n("iStudentservice"); //查询stu List allstu = (); for (Student atu:allstu){ n("名称:"+name()+"t年龄:"+()); } }  增(在这⾥,我们可以把读取⼤配置⽂件⼤代码提到外⾯)  public class stutest { ApplicationContext atc=new ClassPathXmlApplicationContext("");}

  步骤⼀:DAO层public interface IStudentdao { //添加学⽣ public int addstu(Student stu);}  步骤⼆://添加学⽣ @Override public int addstu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); String sql="insert into student values(default,?,?)"; Object [] obj={name(),()}; int update = (sql, obj); n("返回值类型:"+update); return update; }  步骤三:Service层public interface IStudentservice{ //添加学⽣ public int addstu(Student stu);}  步骤四:Serviceimpl层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int addstu(Student stu) { return (stu); }}  步骤五:测试@Test public void insert(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //添加 Student ss=new Student(); name("阿斯顿"); (123); int addstu = (ss); }  改  步骤⼀:DAO层public interface IStudentdao { //修改学⽣ public int updatestu(Student stu);}  步骤⼆:DAOimpl层public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //修改学⽣ @Override public int updatestu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); Object [] obj={name(),(),id()}; String sql="update student set stuname=?,age=? where stuid=?"; int update = (sql, obj); n("返回值类型:"+update); return update; }}  步骤三:Service层public interface IStudentservice { //修改学⽣ public int updatestu(Student stu);}  步骤四:Serviceimplpublic class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int updatestu(Student stu) { return stu(stu); }}  步骤五:测试@Test public void update(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //修改 Student sss=new Student(); name("冯⽼板"); (99); id(6);int updatestu = stu(sss); }

  删:  删:  步骤⼀:DAO层public interface IStudentdao { //删除学⽣ public int delstu(Student stu);}  步骤⼆:DAOimpl层public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //删除 @Override public int delstu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); Object [] obj={id()}; String sql="delete from Student where stuid=?"; int update = (sql, obj); n("返回值类型:"+update); return update; }}  步骤三:Service层public interface IStudentservice { //删除学⽣ public int delstu(Student stu);}  步骤四:Serviceimpl层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int delstu(Student stu) { return (stu); }}  步骤五:测试@Test public void del(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //删除 Student sss=new Student(); id(6); int delstu = (sss); }

使⽤注释实现增删改(在这⾥只列举查询)  步骤⼀:⼤配置⽂件   步骤⼆:DAOimpl层@Repositorypublic class IStudentdaoimpl implements IStudentdao { @Resource private JdbcTemplate jdbcTemplate; //查询 @Override public List allstu() { //获取JDBC模板 /*JdbcTemplate jdbcTemplate=getJdbcTemplate();*/ String sql="select * from student"; //查询 /*List query = (sql, new RowMapper() { *//** * * @param rs 返回的结果集 * @param i 记录⾏ * @return ⽅法返回值 * @throws SQLException *//* @Override public Student mapRow(ResultSet rs, int i) throws SQLException { Student stu = new Student(); id(("stuid")); name(ing("stuname")); (("age")); return stu; } });*/ //⾃动映射 RowMapper rowMapper= new BeanPropertyRowMapper<>(); List query = (sql, rowMapper); return query; }}  步骤三:Serviceimpl层@Service("iStudentservice")public class IStudentserviceimpl implements IStudentservice { @Resource private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public List allstu() { return (); }}  步骤四:测试@Test public void Demo01(){ApplicationContext atc=new ClassPathXmlApplicationContext(""); IStudentservice stu = (IStudentservice)n("iStudentservice"); //查询stu List allstu = (); for (Student atu:allstu){ n("名称:"+name()+"t年龄:"+()); } }

2023年8月3日发(作者:)

JdbcTemplate(增删改查以及以注释实现增删改查)JdbcTemplate介绍  为了使 JDBC 更加易于使⽤,Spring 在 JDBCAPI 上定义了⼀个抽象层,  以此建⽴⼀个JDBC存取框架,Spring Boot Spring Data-JPA。  作为 SpringJDBC 框架的核⼼, JDBC 模板的设计⽬的是为不同类型的JDBC操作提供模板⽅法.  每个模板⽅法都能控制整个过程,并允许覆盖过程中的特定任务。  通过这种⽅式,可以在尽可能保留灵活性的情况下,将数据库存取的⼯作量降到最低。JdbcTemplate⽅法介绍  execute⽅法:    可以⽤于执⾏任何SQL语句,⼀般⽤于执⾏DDL语句;  update⽅法:    update⽅法⽤于执⾏新增、修改、删除等语句;  query⽅法:    ⽤于执⾏查询相关语句;  call⽅法:    ⽤于执⾏存储过程、函数相关语句。注意:  使⽤JdbcTemplate完成对数据库的操作⼗分易⽤,可以和Spring框架做到⾮常完美的整合  JdbcTemplate仅仅只能⽀持简单的SQL操作,不⽀持关联映射和属性注⼊,所以在SQL⽅向的操作我们仍需使⽤MyBatis!⼩例⼦(增删改查)  查:  步骤⼀:导⼊依赖 framework spring-jdbc E mysql mysql-connector-java 5.1.32   步骤⼆:创建实体类public class Student { private Integer stuid; private String stuname; private Integer age; public Integer getStuid() { return stuid; } public void setStuid(Integer stuid) { = stuid; } public String getStuname() { return stuname; } public void setStuname(String stuname) { e = stuname; } public Integer getAge() { return age; } public void setAge(Integer age) { = age; }  步骤三:DAO层public interface IStudentdao { //查询所有学⽣的⽅法 public List allstu();}  步骤四:DAO层实现类public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //查询 @Override public List allstu() { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); String sql="select * from student"; //执⾏查询操作 List query = (sql, new RowMapper() { *//** * * @param rs 结果集 * @param rowNum 当前⾏ * @return ⽅法返回值 * @throws SQLException *//* @Override public Student mapRow(ResultSet rs, int rowNum) throws SQLException { Student stu = new Student(); id(("stuid")); name(ing("stuname")); (("age")); return stu; }      /*      //⾃动映射(可省略上⽅的query⽅法)      RowMapper rowMapper= new BeanPropertyRowMapper<>();      List query = (sql, rowMapper);      */    }); return query; }}  步骤五:Service层public interface IStudentservice { //查询所有学⽣的⽅法 public List allstu();}  步骤六:Service实现层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public List allstu() { return (); }}  步骤七:⼤配置⽂件(jdbc四个配置)==jdbc:mysql://localhost:3306/student?useUniCode=true&characterEncoding=utf-8&zeroDateTimeBehavior=me=rd=123          步骤⼋:测试@Test public void Demo01(){ApplicationContext atc=new ClassPathXmlApplicationContext(""); IStudentservice stu = (IStudentservice)n("iStudentservice"); //查询stu List allstu = (); for (Student atu:allstu){ n("名称:"+name()+"t年龄:"+()); } }  增(在这⾥,我们可以把读取⼤配置⽂件⼤代码提到外⾯)  public class stutest { ApplicationContext atc=new ClassPathXmlApplicationContext("");}

  步骤⼀:DAO层public interface IStudentdao { //添加学⽣ public int addstu(Student stu);}  步骤⼆://添加学⽣ @Override public int addstu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); String sql="insert into student values(default,?,?)"; Object [] obj={name(),()}; int update = (sql, obj); n("返回值类型:"+update); return update; }  步骤三:Service层public interface IStudentservice{ //添加学⽣ public int addstu(Student stu);}  步骤四:Serviceimpl层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int addstu(Student stu) { return (stu); }}  步骤五:测试@Test public void insert(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //添加 Student ss=new Student(); name("阿斯顿"); (123); int addstu = (ss); }  改  步骤⼀:DAO层public interface IStudentdao { //修改学⽣ public int updatestu(Student stu);}  步骤⼆:DAOimpl层public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //修改学⽣ @Override public int updatestu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); Object [] obj={name(),(),id()}; String sql="update student set stuname=?,age=? where stuid=?"; int update = (sql, obj); n("返回值类型:"+update); return update; }}  步骤三:Service层public interface IStudentservice { //修改学⽣ public int updatestu(Student stu);}  步骤四:Serviceimplpublic class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int updatestu(Student stu) { return stu(stu); }}  步骤五:测试@Test public void update(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //修改 Student sss=new Student(); name("冯⽼板"); (99); id(6);int updatestu = stu(sss); }

  删:  删:  步骤⼀:DAO层public interface IStudentdao { //删除学⽣ public int delstu(Student stu);}  步骤⼆:DAOimpl层public class IStudentdaoimpl extends JdbcDaoSupport implements IStudentdao { //删除 @Override public int delstu(Student stu) { //获取JDBC模板 JdbcTemplate jdbcTemplate=getJdbcTemplate(); Object [] obj={id()}; String sql="delete from Student where stuid=?"; int update = (sql, obj); n("返回值类型:"+update); return update; }}  步骤三:Service层public interface IStudentservice { //删除学⽣ public int delstu(Student stu);}  步骤四:Serviceimpl层public class IStudentserviceimpl implements IStudentservice { private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public int delstu(Student stu) { return (stu); }}  步骤五:测试@Test public void del(){ IStudentservice stu = (IStudentservice)n("iStudentservice"); //删除 Student sss=new Student(); id(6); int delstu = (sss); }

使⽤注释实现增删改(在这⾥只列举查询)  步骤⼀:⼤配置⽂件   步骤⼆:DAOimpl层@Repositorypublic class IStudentdaoimpl implements IStudentdao { @Resource private JdbcTemplate jdbcTemplate; //查询 @Override public List allstu() { //获取JDBC模板 /*JdbcTemplate jdbcTemplate=getJdbcTemplate();*/ String sql="select * from student"; //查询 /*List query = (sql, new RowMapper() { *//** * * @param rs 返回的结果集 * @param i 记录⾏ * @return ⽅法返回值 * @throws SQLException *//* @Override public Student mapRow(ResultSet rs, int i) throws SQLException { Student stu = new Student(); id(("stuid")); name(ing("stuname")); (("age")); return stu; } });*/ //⾃动映射 RowMapper rowMapper= new BeanPropertyRowMapper<>(); List query = (sql, rowMapper); return query; }}  步骤三:Serviceimpl层@Service("iStudentservice")public class IStudentserviceimpl implements IStudentservice { @Resource private IStudentdao iStudentdao; public IStudentdao getiStudentdao() { return iStudentdao; } public void setiStudentdao(IStudentdao iStudentdao) { ntdao = iStudentdao; } @Override public List allstu() { return (); }}  步骤四:测试@Test public void Demo01(){ApplicationContext atc=new ClassPathXmlApplicationContext(""); IStudentservice stu = (IStudentservice)n("iStudentservice"); //查询stu List allstu = (); for (Student atu:allstu){ n("名称:"+name()+"t年龄:"+()); } }