4、Spring+MyBatis增删改查

时间:2022-09-19 10:12:51

0、oracle数据库脚本

  create table userinfo
(id number(4),
name varchar2(50),
password varchar2(20
telephone varchar2(15),
isadmin varchar2(5)); --4.2 用户表序列
create sequence seq_userinfo;
alter table userinfo add constraint pk_userinfo_id primary key(id); insert into userinfo values(seq_userinfo.nextval,'holly','','134518024
','是');
commit;

userinfo.sql

1、创建如下项目结构

4、Spring+MyBatis增删改查

4、Spring+MyBatis增删改查

2、在com.bean包下创建UserInfo.java

 package com.bean;

 public class UserInfo {
private Integer id;
private String name;
private String password;
private String telephone;
private String isadmin; public UserInfo() { }
public UserInfo(Integer id, String name, String password, String telephone,
String isadmin) {
this.id = id;
this.name = name;
this.password = password;
this.telephone = telephone;
this.isadmin = isadmin;
}
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getIsadmin() {
return isadmin;
}
public void setIsadmin(String isadmin) {
this.isadmin = isadmin;
}
@Override
public String toString() {
return "UserInfo [id=" + id + ", isadmin=" + isadmin + ", name=" + name
+ ", password=" + password + ", telephone=" + telephone + "]";
} }

UserInfo.java

3、在com.dao包下创建UserInfoDao.java

 package com.dao;

 import java.util.List;

 import com.bean.UserInfo;
/**
* mybatis映射文件的dao接口
* @author pc
*
*/
public interface UserInfoDao {
public List<UserInfo> findAll(); //查所有
public UserInfo findUser(UserInfo user);//条件查询
public void insertUser(UserInfo user); //插入对象
public void updateUser(UserInfo user); //修改对象
public void deleteUser(int id); //条件删除 }

UserInfoDao.java

4、在com.dao包下创建UserInfoDao.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.dao.UserInfoDao">
<select id="findAll" resultType="user">
select * from userinfo
</select>
<select id="findUser" resultType="user" parameterType="user">
select * from userinfo where name=#{name} and password=#{password}
</select>
<insert id="insertUser" parameterType="user">
insert into userinfo values(seq_userinfo.nextval,#{name},#{password},#{telephone},#{isadmin})
</insert>
<update id="updateUser" parameterType="user">
update userinfo set name=#{name},password=#{password},telephone=#{telephone},isadmin=#{isadmin} where id=#{id}
</update> <delete id="deleteUser" parameterType="int">
delete from userinfo where id=#{id}
</delete>
</mapper>

UserInfoDao.xml

5、在src包下创建mybatis-config.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
<!-- mybatis映射文件的别名配置 -->
<typeAliases>
<typeAlias type="com.bean.UserInfo" alias="user"/>
</typeAliases> <!-- 注册mybatis的映射文件 -->
<mappers>
<mapper resource="com/dao/UserInfoDao.xml"/>
</mappers>
</configuration>

mybatis-config.xml

6、在com.dao.impl包下创建UserInfoDaoImpl.java

 package com.dao.impl;

 import java.util.List;

 import org.mybatis.spring.SqlSessionTemplate;

 import com.bean.UserInfo;
import com.dao.UserInfoDao;
/**
* 数据dao接口实现类
* @author pc
*
*/
public class UserInfoDaoImpl implements UserInfoDao {
private SqlSessionTemplate sqlSession;
/**
* 根据id删除
*/
public void deleteUser(int id) {
//获取代理对象
UserInfoDao dao=sqlSession.getMapper(UserInfoDao.class);
try {
dao.deleteUser(id); //调用代理对象映射的dao接口删除
sqlSession.commit(); //提交事务
System.out.println("删除成功");
} catch (Exception e) {
System.out.println("删除失败");
e.printStackTrace();
}
}
/**
* 查询所有
*/
public List<UserInfo> findAll() {
//获取代理对象
UserInfoDao dao=sqlSession.getMapper(UserInfoDao.class);
List<UserInfo> list=null;
try {
list=dao.findAll();
System.out.println("查询所有成功");
} catch (Exception e) {
System.out.println("查询所有失败");
e.printStackTrace();
}
return list;
} /**
* 条件查询
*/
public UserInfo findUser(UserInfo user) {
//获取代理对象
UserInfoDao dao=sqlSession.getMapper(UserInfoDao.class);
UserInfo userinfo=null;
try {
if(user!=null){
userinfo=dao.findUser(user);
System.out.println("条件查询成功");
}else{
System.out.println("条件查询参数为空");
}
} catch (Exception e) {
System.out.println("条件查询失败");
e.printStackTrace();
}
return userinfo;
}
/**
*添加
*/
public void insertUser(UserInfo user) {
//获取代理对象
UserInfoDao dao=sqlSession.getMapper(UserInfoDao.class);
try {
if(user!=null){
dao.insertUser(user);
sqlSession.commit(); //提交事务
System.out.println("添加成功");
}else{
System.out.println("添加参数为空");
}
} catch (Exception e) {
System.out.println("添加失败");
e.printStackTrace();
} }
/**
* 修改对象
*/
public void updateUser(UserInfo user) {
//获取代理对象
UserInfoDao dao=sqlSession.getMapper(UserInfoDao.class);
try {
if(user!=null){
dao.updateUser(user);
sqlSession.commit(); //提交事务
System.out.println("修改成功");
}else{
System.out.println("修改参数为空");
}
} catch (Exception e) {
System.out.println("修改失败");
e.printStackTrace();
}
}
public SqlSessionTemplate getSqlSession() {
return sqlSession;
}
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
} }

UserInfoDaoImpl.java

7、在com.service包下创建UserInfoService.java

 package com.service;

 import java.util.List;

 import com.bean.UserInfo;
/**
* 服务接口
* @author pc
*
*/
public interface UserInfoService {
public List<UserInfo> findAll(); //查所有
public UserInfo findUser(UserInfo user);//条件查询
public void insertUser(UserInfo user); //插入对象
public void updateUser(UserInfo user); //修改对象
public void deleteUser(int id); //条件删除 }

UserInfoService.java

8、在com.service.impl包下创建UserInfoServiceImpl.java

 package com.service.impl;

 import java.util.List;

 import com.bean.UserInfo;
import com.dao.UserInfoDao;
import com.dao.impl.UserInfoDaoImpl;
import com.service.UserInfoService; public class UserInfoServiceImpl implements UserInfoService{
//引入数据层接口
UserInfoDao dao=new UserInfoDaoImpl();
/**
* 删除
*/
public void deleteUser(int id) {
dao.deleteUser(id);
}
/**
* 查所有
*/
public List<UserInfo> findAll() {
return dao.findAll();
}
/**
* 条件查询
*/
public UserInfo findUser(UserInfo user) {
return dao.findUser(user);
}
/**
* 插入对象
*/
public void insertUser(UserInfo user) {
dao.insertUser(user);
}
/**
* 修改对象
*/
public void updateUser(UserInfo user) {
dao.updateUser(user);
} public UserInfoDao getDao() {
return dao;
}
public void setDao(UserInfoDao dao) {
this.dao = dao;
} }

UserInfoServiceImpl.java

9、在src下创建applicationContext.xml

 <?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.xsd ">
<!-- 1.配置数据源 -->
<bean id="oracleDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
</bean> <!--2.在sqlSessionFactory中注入数据源 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入数据源 -->
<property name="dataSource" ref="oracleDataSource"/> <!-- 引用mybatis的主配置文件,(注册dao映射文件) -->
<property name="configLocation">
<value>classpath:mybatis-config.xml</value>
</property>
</bean> <!-- 3.用构造获取sqlSessionTemplate -->
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean> <!-- 4.dao注入sqlSesson -->
<bean id="userdao" class="com.dao.impl.UserInfoDaoImpl">
<property name="sqlSession" ref="sqlSessionTemplate"/>
</bean> <!-- 5.service注入dao -->
<bean id="servicedao" class="com.service.impl.UserInfoServiceImpl">
<property name="dao" ref="userdao"/>
</bean>
</beans>

applicationContext.xml

10、在com.test包下创建Test.java

 package com.test;

 import java.util.List;

 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.bean.UserInfo;
import com.service.impl.UserInfoServiceImpl; public class Test { /**
* @param args
*/
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
UserInfoServiceImpl serviceImpl=(UserInfoServiceImpl) ac.getBean("servicedao");
List<UserInfo> list=serviceImpl.findAll();
if(list!=null){
for (UserInfo user : list) {
System.out.println(user);
}
}else{ } } }

Test.java

11、运行效果:

4、Spring+MyBatis增删改查

4、Spring+MyBatis增删改查的更多相关文章

  1. MyBatis增删改查模板

    1. 首先,和Spring整合一下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=& ...

  2. 最简单的mybatis增删改查样例

    最简单的mybatis增删改查样例 Book.java package com.bookstore.app; import java.io.Serializable; public class Boo ...

  3. MyBatis增删改查

    MyBatis的简介: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  4. 【Mybatis】简单的mybatis增删改查模板

    简单的mybatis增删改查模板: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE map ...

  5. Mybatis增删改查,Demo整合

    第一步:MyBatis的Jar包引入mybatis-3.2.7.jarmysql-connector-java-5.1.8.jar MyBatis的pom.xml依赖 <dependencies ...

  6. springboot整合mybatis增删改查(四):完善增删改查及整合swgger2

    接下来就是完成增删改查的功能了,首先在config包下配置Druid数据连接池,在配置之前先把相关配置在application.preperties中完善 application.preperties ...

  7. SpringBoot&plus;Mybatis增删改查实战

    简介 SpringBoot和Mybatis是啥请自行百度,作者这里也是花了几天时间入门了这个框架用来完成任务,并且也算符合要求的完成了任务,期间也各种百度但是没找到自己想要的那种简单易懂的教程,所以踩 ...

  8. springboot&amp&semi;mybatis 增删改查系列(二)

    数据库篇 我的数据库名为data0525,数据表名为user,其中有五列uid,uname,upass,usex,umessage.uid为主键并且自动生成,由于是练习表,所以并没有考虑设计的合理性. ...

  9. springboot2之结合mybatis增删改查解析

    1. 场景描述 本节结合springboot2.springmvc.mybatis.swagger2等,搭建一个完整的增删改查项目,希望通过这个基础项目,能帮忙朋友快速上手springboot2项目. ...

随机推荐

  1. 关于SharePoint 2010中不能使用AjaxControlToolkit的解决办法

    因为项目中有一个需求需要使用calendar控件,而且样式要和Reporting Service中的尽量一致,搜索了很久发现还是微软的AjaxControlToolkit提供的CalendarExte ...

  2. ios-改变button四个角的弧度

    -(void)createTitleView{ UIView * backview = [[UIView alloc]init]; backview.frame =CGRectMake(87*kHei ...

  3. 在Windows和UNIX下利用PHP和LDAP进行身份验证

    我现在的老板曾要求我为企业内部的Web服务提供一种标准的身份验证方法.我遇到的一个主要问题就是我们公司主要使用了两种平台:UNIX和.所以,我的第一个想法并不很成功:它要求每个员工都使用UNIX或者L ...

  4. C语言每日一题之No&period;12

    文件操作知识:如何将一个文件的内容读取到另一个文件里? fread函数和fwrite函数   1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,count,siz ...

  5. win10 TortoiseSVN 部分图标不显示

    原因:https://msdn.microsoft.com/en-us/library/cc144123(VS.85).aspx Note   The number of different icon ...

  6. Android常用的工具类&lpar;转&rpar;

    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java.目前包括HttpUtils.DownloadManagerPro.ShellUtils.PackageUtils.Prefer ...

  7. zookeeper-3&period;4&period;8 集群搭建

    一.虚拟机环境 见我的另一篇博客http://www.cnblogs.com/xckk/p/6000881.html, zookeeper是用JAVA编写,因此需要安装JDK环境,centos下安装J ...

  8. Java学习笔记(二十三):final关键字

    final关键字有三种使用场景: final修饰类 final修饰方法 final修饰变量 final修饰的类,不能再有子类继承. 只要满足以下条件就可以把一个类设计为final类: 不是专门为继承而 ...

  9. Oracle&lpar;1&rpar;之虚拟机下安装与简单使用

    Oracle介绍与安装 简介 Oracle 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器 (CLIENT/SERVER) 或 B/ ...

  10. JVM的 GC机制和内存管理

    GC机制:java垃圾回收机制,垃圾收集器线程(Garbage Collection Thread)在 JVM 处于空闲循环式,会自动回收无用的内存块. 垃圾收集算法:1.引用计数  2.根搜索  3 ...