Mybatis

Posted 兴贤博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis相关的知识,希望对你有一定的参考价值。

Mybatis

User.java类

定义数据属性:

形参:

public class User {
private int id;
private String username;
private Date birthday;
private String sex;
private String address;
public User()
{
super();
}

实参:

    public User(String username, Date birthday, String sex, String address){
this.username = username;
this.birthday = birthday;
this.sex = sex;
this.address = address;
}

App.java

编写测试类:

  public class App {
public static void main(String[] args){
//解析全局配置文件
String resource = "mybatis-config.xml";//全局配置文件的路径(相对于src的路径)
try {
InputStream inputStream =Resources.getResourceAsStream(resource);
//输入流实例通过getResourceAsStream()获取配置文件
SqlSessionFactory sqlSessionFactory = new       SqlSessionFactoryBuilder().build(inputStream);
//SqlSessionFactory实例可以通过 SqlSessionFactoryBuilder 获得
//调用Dao层接口方法完成SQL执行
SqlSession sqlSession = sqlSessionFactory.openSession();
//从 SqlSessionFactory 中获取 SqlSession
//shift+alt+1
UserDao userdao = sqlSession.getMapper(UserDao.class);
//SqlSession 实例来直接执行已映射的 SQL 语句
//获取相应接口实现类的类对象
List<User> ulist = userdao.getAll();
System.out.println(ulist);
}catch(Exception e) {
e.printStackTrace();//try catch进行异常错误处理
}
}
}

操作

根据主键查询

1.UserDao.xml映射文件

2.UserDao.java接口方法

  User getUserById(int uid);

3.App2.java

public class App2 {
UserDao userDao;//创建全局变量
SqlSession sqlSession;//创建全局变量
public void setup() throws IOException {
String resource = "mybatis-config.xml";  
InputStream inputStream =Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new   SqlSessionFactoryBuilder().build(inputStream);
sqlSession = sqlSessionFactory.openSession();
userDao = sqlSession.getMapper(UserDao.class);
}

根据主键保存

1.UserDao.xml映射文件

2.UserDao.java接口方法

 int saveUser(User user);

3.App2.java

  public void saveUser() {
User user = new User("搜索",new Date(),"男","北京");
int i = userDao.saveUser(user);
sqlSession.commit(); //提交    
System.out.println(user);//输出打印user表中数据  
}

根据主键更新

1.UserDao.xml映射文件

 

 

2.UserDao.java接口方法

  int updateUser(User user);

3.App2.java

  public void update() {
User user = new User();
user.setId(1);
user.setSex("男");
user.setUsername("天天");
userDao.updateUser(user);
sqlSession.commit();
}

根据主键删除

1.UserDao.xml映射文件

 

 

2.UserDao.java接口方法

int getDeleteById(User user);

3.App2.java

public void getDeleteById() {
User user = userDao.getUserById(1);
int i = userDao.getDeleteById(user);
sqlSession.commit();
System.out.println(user);
}

 

以上是关于Mybatis的主要内容,如果未能解决你的问题,请参考以下文章

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

mybatis动态sql片段与分页,排序,传参的使用

MyBatis动态SQL标签用法

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

mybatis动态sql之利用sql标签抽取可重用的sql片段

[mybatis]动态sql_sql_抽取可重用的sql片段