`

MyBatis 实现简单的 增加 查找

 
阅读更多

一个简单的POJO类

package com.test.pojo;

public class User {
	
	private String name;
	private String password;
	
	public User(){
		
	}
	
	public User(String name,String password){
		this.name=name;
		this.password=password;
	}
	
	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;
	}
	

}

 定义DAO接口UserMapper

package com.test.dao;

import com.test.pojo.User;

public interface UserMapper {
	
	public void insertUser(User user);
	
	public User getUser(String name);

}

 不需要写DAO的实现,只需要创建一个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="com.test.dao.UserMapper"><!-- namespace是UserMapper接口的路径 -->
	<insert id="insertUser" parameterType="User"><!-- id为接口中方法名,parameterType参数类型 -->
		insert into user(name,password) values(#{name},#{password})
	</insert>
	<select id="getUser" resultType="User" parameterType="java.lang.String"><!-- resultType返回值类型 -->
		select * from user where name=#{name}
	</select>
</mapper>

 MyBatis 还需要一个配置文件,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>
	<settings>
		<setting name="cacheEnabled" value="false" />   
        <setting name="useGeneratedKeys" value="true" />   
        <setting name="defaultExecutorType" value="REUSE" /> 
	</settings>
	<typeAliases>
		<typeAlias alias="User" type="com.test.pojo.User"/>
	</typeAliases>
	<environments default="development">
		<environment id="development">
			<transactionManager type="jdbc"/>
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/sample_db?useUnicode=true&amp;characterEncoding=utf-8"/>
				<property name="username" value="root"/>
				<property name="password" value=""/>
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="com/test/dao/UserMapper.xml"/>
	</mappers>
</configuration>

 一个MyBatisUtil工具类

package com.test.data;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyBatisUtil {
	
	private static SqlSessionFactory sqlSessionFactory;
	
	static{
		String str="config/mybatis-config.xml";
		Reader reader=null;
		try {
			reader=Resources.getResourceAsReader(str);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
		}
		sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
	}
	
	public static SqlSessionFactory getSqlSessionFactory(){
		return sqlSessionFactory;
	}

}

 一个Test类 中测试

package com.test.dao.impl;

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

import com.test.dao.UserMapper;
import com.test.data.MyBatisUtil;
import com.test.pojo.User;

public class Test {
	
	public static void main(String[] args) {
		SqlSessionFactory ssf=MyBatisUtil.getSqlSessionFactory();
		SqlSession sqlSession=ssf.openSession();
		UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
		User user=new User("tom","sdfsdfd");
		userMapper.insertUser(user);
		sqlSession.commit();
	}

}

 数据库一张user表 name password两个字段,如有不明可下载附件

 

分享到:
评论

相关推荐

    MyBatis 36道面试题和答案.docx

    ${}则表示简单的字符串替换,MyBatis会直接将${}中的内容替换到SQL语句中。 **MyBatis的半自动化ORM** 与全自动的Hibernate相比,MyBatis不负责完全自动化的对象关系映射。在Hibernate中,查询关联对象可以直接获取...

    动物位移小游戏Java实现,强行使用上了SQLite和MyBatis.zip

    在这个名为“动物位移小游戏Java实现,强行使用上了SQLite和MyBatis”的项目中,开发者巧妙地结合了Java编程语言、SQLite数据库系统以及MyBatis持久层框架来创建一款简单的游戏。这款游戏的目标可能是让玩家通过操作...

    Springboot-mybatis-thymeleaf.7z

    这个名为 "Springboot-mybatis-thymeleaf.7z" 的压缩包包含了一个基于 Spring Boot、Mybatis 和 Thymeleaf 的简单项目,实现了用户注册、登录以及基本的 CRUD(创建、读取、更新、删除)操作。下面将详细解释这些...

    MyBatis-plus 模糊查询的使用

    MyBatis-plus提供了简单易用的模糊查询功能。 在MyBatis-plus中,模糊查询主要通过`QueryWrapper`类来实现。`QueryWrapper`是一个条件构造器,可以方便地构建复杂的查询条件。以下是如何使用`QueryWrapper`进行模糊...

    MyBatis自动生成Where语句

    尽管参数类型不匹配,SQL Server仍然尝试将NVARCHAR转换为VARCHAR以使用索引,但这会导致原本可以简单等值匹配的查询变为范围查询,增加了执行时间。 理想情况下,开发者希望看到的SQL语句是直接指定参数类型的,如...

    教务管理for java实现简单的查询,编辑,修改,插入,删除

    为了实现查询功能,我们可以编写SQL查询语句,比如查找特定ID的学生或教师。使用PreparedStatement可以防止SQL注入攻击,如下所示: ```java String sql = "SELECT * FROM students WHERE id = ?"; try (Connection...

    C#简单(增、删、改、查)三层工程

    本项目"**C#简单(增、删、改、查)三层工程**"就是基于这种架构实现的,主要用于用户管理,包括登录验证、用户信息的操作等功能。以下是关于这个项目的详细知识点: 1. **表现层(Presentation Layer)**:这是...

    图书管理简单实现springmvc+mbaits文档

    ### 图书管理系统的SpringMVC+MyBatis实现 #### 1. 系统功能性需求描述 本系统作为一款图书借阅管理系统,属于典型的信息管理系统。它的开发主要包括两大部分:一是后台数据库的设计与维护;二是前端应用程序的...

    JAVA毕业设计之基于SpringBoot的论坛系统设计与实现(springboot+mysql)完整源码.zip

    该系统使用了MySQL数据库作为数据存储的解决方案,通过SpringBoot集成MyBatis来实现对数据库的操作。用户可以通过注册和登录功能进入系统,然后可以浏览论坛的各个板块和帖子,也可以发表新的帖子或回复已有的帖子。...

    基于ssm框架的简单增删改查

    本项目"基于SSM框架的简单增删改查"旨在实现一个留言板功能,包括留言的增加、删除、修改和查询,同时还提供了分页和模糊查询的功能。以下是关于这些知识点的详细说明: **1. Spring框架**: Spring是Java企业级...

    ssm框架简单的登陆验证

    在这个"ssm框架简单的登陆验证"项目中,开发者使用这三个框架实现了一个基础的用户登录功能,数据库选择了SQL Server。 首先,我们来详细解释一下SSM框架的组成部分: 1. **Spring**:这是一个全面的开源应用框架...

    模拟网盘系统,简单的增删改查

    【描述】:“基于springMVC+mybatis+ssh 可以实现简单的上传下载等功能” 这个描述点出了该系统的技术栈。具体来说: 1. **SpringMVC**:这是一个基于Spring框架的MVC(Model-View-Controller)模式的Web开发组件...

    基于java客户管理系统课程设计报告PPT.pptx

    * 每个成员的任务分工明确,包括项目框架设计、项目运行修改、项目报告总结、项目具体代码编写、项目PPT撰写、登录跳转和网页设计、数据库搭建、用户管理页面设计、增加功能代码、查找功能代码和删除功能代码等。...

    5.2 博客模块实现1

    插入操作通常是通过一个ORM(对象关系映射)工具,如Hibernate或MyBatis来实现的,它们可以将Java对象转换为SQL语句,从而与数据库进行交互。 删除博客的功能涉及到根据用户选择的博客ID从数据库中删除对应记录。这...

    MyBatisPlus插件扩展_SqlExplainInterceptor执行分析插件的使用示例代码

    通过实现`Interceptor`接口并重写`intercept`方法,可以对特定的SQL操作进行拦截和处理。SqlExplainInterceptor就是这样一个插件,它主要用于分析SQL的执行计划。 2. **SqlExplainInterceptor介绍** ...

    MybatisCodeHelperPro 2.8.7

    2. **SQL提示和补全**:在编辑Mapper XML文件时,插件提供强大的SQL语句提示和补全功能,包括列名、表名等,避免了手动查找数据表结构的麻烦。 3. **动态SQL智能感知**:在编写动态SQL(如if、choose、when、...

    EmployeeManagementSystem:使用SSM框架搭建的一个简单的员工信息管理系统,实现了基本的增删改查整个流程

    这是完整使用SSM框架开发的第一个项目,项目整合北京动力例程的SSM框架集成教程,其中加入了一些自己的理解,增加了一个搜索功能的页面,这个项目总体而言对于新手是很友好的,涉及到了简单的ajax和jquery处理,UI...

    基于周边小区租房售房信息共享系统的毕业设计实现.docx

    此外,代码示例展示了如何用Python实现一个简单的社区租房售房小游戏,这个游戏模拟了实际的租房和售房流程。游戏中,用户可以搜索社区内的出租或出售房源,系统随机选择一个符合条件的房源进行交易。这有助于用户以...

    基于Java的新农村管理系统的设计与实现

    - **前端**:利用Ajax和MyBatis技术实现用户登录和数据交互。 - **页面设计**:采用JSP和CSS技术进行网页布局与美化。 - **后端**:采用Java语言和Oracle数据库进行数据管理和逻辑处理。 #### 数据库设计 **2.3 ...

Global site tag (gtag.js) - Google Analytics