`
吕金含
  • 浏览: 87825 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Mybatis使用接口用户的增删改查

 
阅读更多

1.数据库:

create table t_user(
t_id number,
t_name varchar2(10),
t_password varchar2(20)
);

项目明细:


2.定义一个User类:

package com.ask.pojo;

import java.io.Serializable;
import java.util.Date;
//新建一个User得实体类;
public class User {
private int t_id;
private String t_name;
private String t_password;
public int getT_id() {
return t_id;
}
public void setT_id(int t_id) {
this.t_id = t_id;
}
public String getT_name() {
return t_name;
}
public void setT_name(String t_name) {
this.t_name = t_name;
}
public String getT_password() {
return t_password;
}
public void setT_password(String t_password) {
this.t_password = t_password;
}
@Override
public String toString() {
return "User [t_id=" + t_id + ", t_name=" + t_name + ", t_password="
+ t_password + "]";
}
public User(int t_id, String t_name, String t_password) {
super();
this.t_id = t_id;
this.t_name = t_name;
this.t_password = t_password;
}
public User() {
super();
// TODO Auto-generated constructor stub
}



}

3.定义一个UserDao接口:

package com.ask.dao;

import java.util.List;

import com.ask.pojo.User;

public interface UserDao {
/*
* 根据id查询用户
*/
public User getUserById(int t_id)throws Exception;
/*
* 根据Name查询用户
*/
public List<User> getUserByName(String t_name)throws Exception;
/*
* 查询所有用户
*/
public List<User> getUsers()throws Exception;
/*
* 添加用户
*/
public void insertUser(User user)throws Exception;
/*
* 更新用户
*/
public void updateUser(User user)throws Exception;
/*
* 删除用户
*/
public void deleteUser(int t_id)throws Exception;

}

4.UserDaoImpl:

package com.ask.dao.impl;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import com.ask.dao.UserDao;
import com.ask.pojo.User;

public class UserDaoImpl implements UserDao {
private SqlSessionFactory sessionFactory;
public UserDaoImpl (SqlSessionFactory sessionFactory){
this.sessionFactory=sessionFactory;
}
@Override
public User getUserById(int t_id) throws Exception {
SqlSession session=sessionFactory.openSession();
User user=session.selectOne("getUserById",t_id);
return user;
}

@Override
public List<User> getUserByName(String name) throws Exception {
SqlSession session=sessionFactory.openSession();
List<User> users=session.selectList("getUserByName",name);
return users;
}

@Override
public List<User> getUsers() throws Exception {
SqlSession session=sessionFactory.openSession();
List<User> users=session.selectList("getUsers");
return users;
}

@Override
public void insertUser(User user) throws Exception {
SqlSession session=sessionFactory.openSession();
session.insert("insertUser",user);
session.commit();
session.close();
}

@Override
public void updateUser(User user) throws Exception {
SqlSession session=sessionFactory.openSession();
session.update("updateUser",user);
session.commit();
session.close();
}

@Override
public void deleteUser(int id) throws Exception {
SqlSession session=sessionFactory.openSession();
session.delete("deleteUser",id);
session.commit();
session.close();
}

}

5.UserTest.java

package com.ask.test;


import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import com.ask.dao.UserDao;
import com.ask.dao.impl.UserDaoImpl;
import com.ask.pojo.User;

public class UserTest1 {
private SqlSessionFactory sessionFactory;
@Before
public void up() throws IOException{
InputStream is=Resources.getResourceAsStream("SQLMapConfig.xml");
sessionFactory=new SqlSessionFactoryBuilder().build(is);
}

@Test
public void testGetUserById() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
User user=dao.getUserById(1);
System.out.println(user);
}

@Test
public void testGetUserByName() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
List<User> users=dao.getUserByName("l");

System.out.println(users.get(0));
}
@Test
public void testGetUsers() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
List<User> users=dao.getUsers();
for (User user : users) {
System.out.println(user);
}
}
@Test
public void testInsertUser() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
User u=new User(3,"scott","tiger");
dao.insertUser(u);
}
@Test
public void testUpdateUser() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
User u=new User(3,"tiger","666666");
u.setT_id(3);
dao.updateUser(u);
}
@Test
public void testDeleteUser() throws Exception {
UserDao dao=new UserDaoImpl(sessionFactory);
dao.deleteUser(3);
}

}

6.UserMapper.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="mapper.UserMapper">
<!-- 执行的sql语句的id
根据id查询用户
-->
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM t_USER WHERE t_id=#{t_id}
</select>
<!--根据姓名模糊查询-->
<select id="getUserByName" parameterType="String" resultType="com.ask.pojo.User">
select * from t_user where t_name LIKE '%'||#{t_name}||'%'
</select>
<!--查询所有用户 -->
<select id="getUsers" resultType="com.ask.pojo.User">
SELECT * FROM t_USER
</select>
<!-- 用户增加 -->
<insert id="insertUser" parameterType="com.ask.pojo.User">
INSERT INTO t_user VALUES(#{t_id},#{t_name},#{t_password})
</insert>
<!-- 用户修改-->
<update id="updateUser" parameterType="com.ask.pojo.User">
update t_user set t_name=#{t_name}, t_password=#{t_password} where t_id=#{t_id}
</update>
<!--用户删除-->
<delete id="deleteUser" parameterType="int">
delete from t_user where t_id=#{t_id}
</delete>

</mapper>

7.SQLMapConfig.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>
<properties resource="db.properties"></properties>
<typeAliases>
<package name="com.ask.pojo"/>
</typeAliases>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理-->
<transactionManager type="JDBC" />
<!-- 数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>

<package name="com.ask.mapper"/>
</mappers>
</configuration>


分享到:
评论

相关推荐

    springMVC+mybatis实现登录和增删改查

    在本项目中,"springMVC+mybatis实现登录和增删改查"是一个典型的Web应用程序,它结合了SpringMVC、MyBatis两大主流框架,以及Bootstrap前端库,来构建一个用户友好的数据管理平台。以下是这个项目涉及到的主要知识...

    Mybatis基本应用实现增删改查

    在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...

    mybatis入门之简单增删改查

    在深入探讨MyBatis的简单增删改查操作之前,我们先了解一下MyBatis的基本概念和架构。 MyBatis的核心组件包括:XML配置文件、Mapper接口及Mapper XML文件、SqlSessionFactory和SqlSession。XML配置文件主要用于设置...

    SpringBoot+mybatis+增删改查完整源码

    在本项目中,我们主要探讨的是如何利用SpringBoot框架与Mybatis进行数据库的增删改查操作。SpringBoot以其简洁的配置和快速的启动能力,成为现代Java开发中的热门选择,而Mybatis作为轻量级的持久层框架,提供灵活的...

    Springboot 整合Mybatis +thymeleaf 实现增删改查,包含前端HTML页面

    在本教程中,我们将深入探讨如何使用Spring Boot整合Mybatis和Thymeleaf来实现一个基本的CRUD(创建、读取、更新、删除)应用。这个实例特别适合初学者,因为它提供了一个从前端到后端完全功能的示例。 首先,...

    Spring MVC+Mybatis整合实现用户登录以及增删改查功能

    对于用户增删改查功能,我们可以创建User实体类,包含用户的属性如id、username、password等。然后,定义对应的Controller,如UserController,处理HTTP请求,接收前端传递的参数,并调用UserService的方法来执行...

    mybatis 实现数据的增删改查小demo

    在这个“mybatis 实现数据的增删改查小demo”中,我们将深入探讨如何使用 MyBatis 进行基本的数据库操作。 首先,我们需要理解 MyBatis 的核心组件:SqlSessionFactory 和 SqlSession。SqlSessionFactory 是一个...

    springboot+mybatis+mysql+layUI+thymeleaf实现增删改查

    在本项目中,我们利用了SpringBoot、MyBatis、MySQL、LayUI和Thymeleaf这五种核心技术,构建了一个完整的Web应用程序,实现了学生信息管理系统的增删改查功能。下面将对这些技术及其在项目中的应用进行详细解释。 *...

    mybatis最简单的增删改查

    本教程将基于标题"mybatis最简单的增删改查",描述中的开发环境(IntelliJ IDEA、MySQL数据库)以及JUnit测试来深入探讨如何使用MyBatis实现基本的CRUD操作。 1. **MyBatis简介** MyBatis是一个优秀的持久层框架,...

    SpringMVC+Mybatis+SqlServer 增删改查上传下载示例

    【SpringMVC+Mybatis+SqlServer 增删改查上传下载示例】是一个典型的Java Web开发中的集成框架,用于构建高效、灵活的Web应用程序。这个示例项目涵盖了多个核心知识点,包括SpringMVC作为控制层,Mybatis作为数据...

    mybatis增删改查基础jar包

    在实际开发中,使用这些 jar 包,你可以创建 MyBatis 的配置文件(如 mybatis-config.xml),定义 SQL 映射文件(如 mapper.xml),并创建对应的 DAO 接口和实现类,从而实现对数据库的高效、灵活的增删改查操作。...

    Spring+SpringMVC+MyBatis (简单)增删改查

    可能包含Controller、Service、DAO三层架构中的类,以及对应的Mapper XML文件,用于处理用户相关的增删改查操作。 在实际开发中,使用SSM框架进行简单增删改查的过程大致如下: 1. **创建数据库表**:根据业务需求...

    springmvc+mybatis3.2整合及增删改查示例

    接下来,我们将详细讨论如何将SpringMVC与MyBatis 3.2进行整合,并实现基础的增删改查功能。 **1. SpringMVC整合MyBatis** 首先,我们需要在项目中引入SpringMVC和MyBatis的依赖库,通常通过Maven或Gradle来管理。...

    Springboot+mybatis登录注册增删改查

    以上就是Spring Boot+Mybatis构建登录注册增删改查系统的详细过程,通过这个项目,开发者可以深入理解Spring Boot的自动配置原理,以及Mybatis如何与Spring Boot结合实现数据库操作。在实际开发中,还需要考虑异常...

    springboot+mybatis-plus+gradle+mysql+swagger基础增删改查、树形查询

    本项目基于一系列技术栈,包括Spring Boot、MyBatis Plus、Gradle、MySQL和Swagger,实现了一个基础的增删改查(CRUD)功能,并提供了树形查询的能力。下面将详细介绍这些技术及其在项目中的应用。 **1. Spring ...

    spring mvc+mybatis+maven 实现增删改查

    在本项目中,我们主要利用了Spring MVC作为前端控制器,MyBatis作为持久层框架,Maven进行项目构建和依赖管理,以及MySQL作为数据库来实现一个基础的Web应用,其中包括用户数据的增删改查功能。以下是这些技术的详细...

    spring+mybatis实现数据增删改查

    首先,我们来看"spring+mybatis实现数据增删改查"这一主题。在Java Web开发中,数据增删改查(CRUD)是最基础的操作,涵盖了创建(Create)、读取(Read)、更新(Update)和删除(Delete)四种数据库操作。Spring与...

    mybatis增删改查

    在本项目 "mybatis002" 中,我们将深入探讨 MyBatis 如何实现数据库的增删改查操作。 首先,我们需要了解 MyBatis 的核心组件: 1. **SqlSessionFactory**: 它是创建 SqlSession 的工厂,通过 ...

    spring boot mybatis jsp前端展示对mysql增删改查

    在本项目中,我们主要探讨的是如何利用Spring Boot、MyBatis和JSP技术来实现对MySQL数据库的增删改查操作,并通过前端界面展示这些功能。这是一个基础的Web应用程序开发示例,适合初学者用来了解和实践相关技术。...

    SSM(spring+SpringMVC+Mybatis)框架实现增删改查

    以下是对SSM框架实现增删改查功能的详细说明: 1. **Spring框架**:Spring是Java企业级应用的核心框架,提供了依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)等功能。在...

Global site tag (gtag.js) - Google Analytics