使用小结:
1、配置数据库连接文件con.
2、配置sql映射文件. 或者使用注解接口文件
3、写pojo 的java文件
4、调用mybatis
001
<? version=\"1.0\" encoding=\"UTF-8\"?>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注册userMapper. 文件,
userMapper. 位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper. -->
<mapper resource=\"userMapper. \"/>
<mapper class=\"UserMapperI\"/>
</mappers>
```
002
```
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
public interface UserMapperI {
//使用@Insert注解指明add方法要执行的SQL
@Insert(\"insert into t_user(name, age) values(#{name}, #{age})\")
@Options(useGeneratedKeys=true)
public int add(User user);
//使用@Delete注解指明deleteById方法要执行的SQL
@Delete(\"delete from users where id=#{id}\")
public int deleteById(int id);
//使用@Update注解指明update方法要执行的SQL
@Update(\"update users set name=#{name},age=#{age} where id=#{id}\")
public int update(User user);
//使用@Select注解指明getById方法要执行的SQL
@Select(\"select * from users where id=#{id}\")
public User getById(int id);
//使用@Select注解指明getAll方法要执行的SQL
@Select(\"select * from users\")
public List<User> getAll();
}
002-001
<? 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=\"me.gacl.mapping.userMapper\">
<select id=\"getUser\"
resultType=\"User\">
select * from t_user where name like #{name}
</select>
<insert id=\"addUser\" parameterType=\"User\" keyProperty=\"id\" useGeneratedKeys=\"true\">
insert into t_user(name,age) values (#{name},#{age})
</insert>
</mapper>
003
/**
* @author gacl
* users表所对应的实体类
*/
public class User {
//实体类的属性和表的字段名称一一对应
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return \"User [id=\" + id + \", name=\" + name + \", age=\" + age + \"]\";
}
}
004
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println(\"hello world!MyBatis|!!!!\");
/*
//mybatis的配置文件
//String resource = \"conf. \";
//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
//InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
//构建sqlSession的工厂
//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
//Reader reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
//SqlSession session = sessionFactory.openSession();
/**
* 映射sql的标识字符串,
* me.gacl.mapping.userMapper是userMapper. 文件中mapper标签的namespace属性的值,
* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
//String statement = \"me.gacl.mapping.userMapper.getUser\";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
//User user = session.selectOne(statement, 12);
//System.out.println(user);
//Test.addUser();
//Test.addUserByNote();
Test.searchUser();
}
public static void searchUser() {
String resource = \"conf. \" ;
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionFactory.openSession();
String statement = \"me.gacl.mapping.userMapper.getUser\";
User user1 = new User();
user1.setName(\"abc\");
user1.setAge(13);
List<User> u = session.selectList(statement, \"a%\");
//User user = session.selectOne(statement,user1) ;
System.out.println(u);
}
public static void addUserByNote() {
String resource = \"conf. \" ;
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionFactory.openSession();
UserMapperI m = session.getMapper(UserMapperI.class);
User user = new User();
user.setName(\"dddd\");
user.setAge(38);
int add = m.add(user) ;
//session.g
//session.commit();
session.close();
System.out.println(user.getId());
}
public static void addUser() {
//SqlSession sqlSession = MyBatisU
String resource = \"conf. \" ;
InputStream is = Test.class.getClassLoader().getResourceAsStream(resource);
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionFactory.openSession();
String statement = \"me.gacl.mapping.userMapper.addUser\";
User u = new User();
u.setAge(30);
u.setName(\"aerly\");
int r = session.insert(statement,u);
session.commit();
session.close();
System.out.println(u.getId());
//System.out.println(r);
}
}
1、一
2、二
3、MyBatis 文档说明
继续阅读与本文标签相同的文章
上一篇 :
DApps与传统应用有什么区别
下一篇 :
【机器学习】输出层的设计
-
再议 C 语言中的指针与数组(4)
2026-05-18栏目: 教程
-
Apache Flink 进阶入门(二):Time 深度解析
2026-05-18栏目: 教程
-
从校招生到核心架构师,支付宝研究员李俊奎谈如何成为一名优秀的程序员 | 9月16号栖夜读
2026-05-18栏目: 教程
-
阿里云云市场服务商入驻流程
2026-05-18栏目: 教程
-
9.19直播预告 | 分布式数据库Cassandra 一致性详解
2026-05-18栏目: 教程
