一个简单的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&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会直接将${}中的内容替换到SQL语句中。 **MyBatis的半自动化ORM** 与全自动的Hibernate相比,MyBatis不负责完全自动化的对象关系映射。在Hibernate中,查询关联对象可以直接获取...
在这个名为“动物位移小游戏Java实现,强行使用上了SQLite和MyBatis”的项目中,开发者巧妙地结合了Java编程语言、SQLite数据库系统以及MyBatis持久层框架来创建一款简单的游戏。这款游戏的目标可能是让玩家通过操作...
这个名为 "Springboot-mybatis-thymeleaf.7z" 的压缩包包含了一个基于 Spring Boot、Mybatis 和 Thymeleaf 的简单项目,实现了用户注册、登录以及基本的 CRUD(创建、读取、更新、删除)操作。下面将详细解释这些...
MyBatis-plus提供了简单易用的模糊查询功能。 在MyBatis-plus中,模糊查询主要通过`QueryWrapper`类来实现。`QueryWrapper`是一个条件构造器,可以方便地构建复杂的查询条件。以下是如何使用`QueryWrapper`进行模糊...
尽管参数类型不匹配,SQL Server仍然尝试将NVARCHAR转换为VARCHAR以使用索引,但这会导致原本可以简单等值匹配的查询变为范围查询,增加了执行时间。 理想情况下,开发者希望看到的SQL语句是直接指定参数类型的,如...
为了实现查询功能,我们可以编写SQL查询语句,比如查找特定ID的学生或教师。使用PreparedStatement可以防止SQL注入攻击,如下所示: ```java String sql = "SELECT * FROM students WHERE id = ?"; try (Connection...
本项目"**C#简单(增、删、改、查)三层工程**"就是基于这种架构实现的,主要用于用户管理,包括登录验证、用户信息的操作等功能。以下是关于这个项目的详细知识点: 1. **表现层(Presentation Layer)**:这是...
### 图书管理系统的SpringMVC+MyBatis实现 #### 1. 系统功能性需求描述 本系统作为一款图书借阅管理系统,属于典型的信息管理系统。它的开发主要包括两大部分:一是后台数据库的设计与维护;二是前端应用程序的...
该系统使用了MySQL数据库作为数据存储的解决方案,通过SpringBoot集成MyBatis来实现对数据库的操作。用户可以通过注册和登录功能进入系统,然后可以浏览论坛的各个板块和帖子,也可以发表新的帖子或回复已有的帖子。...
本项目"基于SSM框架的简单增删改查"旨在实现一个留言板功能,包括留言的增加、删除、修改和查询,同时还提供了分页和模糊查询的功能。以下是关于这些知识点的详细说明: **1. Spring框架**: Spring是Java企业级...
在这个"ssm框架简单的登陆验证"项目中,开发者使用这三个框架实现了一个基础的用户登录功能,数据库选择了SQL Server。 首先,我们来详细解释一下SSM框架的组成部分: 1. **Spring**:这是一个全面的开源应用框架...
【描述】:“基于springMVC+mybatis+ssh 可以实现简单的上传下载等功能” 这个描述点出了该系统的技术栈。具体来说: 1. **SpringMVC**:这是一个基于Spring框架的MVC(Model-View-Controller)模式的Web开发组件...
* 每个成员的任务分工明确,包括项目框架设计、项目运行修改、项目报告总结、项目具体代码编写、项目PPT撰写、登录跳转和网页设计、数据库搭建、用户管理页面设计、增加功能代码、查找功能代码和删除功能代码等。...
插入操作通常是通过一个ORM(对象关系映射)工具,如Hibernate或MyBatis来实现的,它们可以将Java对象转换为SQL语句,从而与数据库进行交互。 删除博客的功能涉及到根据用户选择的博客ID从数据库中删除对应记录。这...
通过实现`Interceptor`接口并重写`intercept`方法,可以对特定的SQL操作进行拦截和处理。SqlExplainInterceptor就是这样一个插件,它主要用于分析SQL的执行计划。 2. **SqlExplainInterceptor介绍** ...
2. **SQL提示和补全**:在编辑Mapper XML文件时,插件提供强大的SQL语句提示和补全功能,包括列名、表名等,避免了手动查找数据表结构的麻烦。 3. **动态SQL智能感知**:在编写动态SQL(如if、choose、when、...
这是完整使用SSM框架开发的第一个项目,项目整合北京动力例程的SSM框架集成教程,其中加入了一些自己的理解,增加了一个搜索功能的页面,这个项目总体而言对于新手是很友好的,涉及到了简单的ajax和jquery处理,UI...
此外,代码示例展示了如何用Python实现一个简单的社区租房售房小游戏,这个游戏模拟了实际的租房和售房流程。游戏中,用户可以搜索社区内的出租或出售房源,系统随机选择一个符合条件的房源进行交易。这有助于用户以...
- **前端**:利用Ajax和MyBatis技术实现用户登录和数据交互。 - **页面设计**:采用JSP和CSS技术进行网页布局与美化。 - **后端**:采用Java语言和Oracle数据库进行数据管理和逻辑处理。 #### 数据库设计 **2.3 ...