动态SQL各个标签作用以及注意事项详解


创建com.mybatis包,包含:UserMapper.xml和mybatis-config.xml

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">











update user

<if test="uname!=null">uname=#{uname},if>
<if test="usex!=null">usex=#{sex}if>

where uid=#{uid}




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">




创建com.dao包,包含:UserDao.java代码:

package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import com.po.MyUser;
@Repository("userDao")
@Mapper
public interface UserDao {
public MyUser selectUserById(Integer uid);
public List selectAllUser();
public int addUser(MyUser user);
public int updateUser(MyUser user);
public int deleteUser(Integer uid);
}

创建com.po包,包括:MyUser.java代码:

package com.po;

public class MyUser {
private Integer uid;
private String uname;
private String usex;
public Integer getUid() {
    return uid;
}
public void setUid(Integer uid) {
    this.uid = uid;
}
public String getUname() {
    return uname;
}
public void setUname(String uname) {
    this.uname = uname;
}
public String getUsex() {
    return usex;
}
public void setUsex(String usex) {
    this.usex = usex;
}
public String toString() {
    return "User[uid="+ uid +",uname="+uname+",usex"+usex+"]";
}
}

创建com.controller包,包括:TestController.java和UserController.java

UserController.java代码:

package com.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import com.dao.UserDao;
import com.po.MyUser;
@Controller("userController")
public class UserController {
@Autowired
private UserDao userDao;
public void test() {
    MyUser auser = userDao.selectUserById(1);
    System.out.println(auser);
    System.out.println("====================");
    MyUser addmu = new MyUser();
    addmu.setUid(1);
    addmu.setUname("陈恒");
    addmu.setUsex("男");
    int add=userDao.addUser(addmu);
    System.out.println("=====================");
    MyUser updatemu = new MyUser();
    updatemu.setUid(1);
    updatemu.setUname("张三");
    updatemu.setUsex("女");
    int up = userDao.updateUser(updatemu);
    System.out.println("修改了"+up+"条记录");
    System.out.println("=====================");
    int dl = userDao.deleteUser(9);
    System.out.println("删除了"+dl+"条记录");
    System.out.println("=====================");
    Listlist =userDao.selectAllUser();
    for(MyUser myUser: list) {
        System.out.println(myUser);
    }
}
}

TestController.java代码:

package com.controller;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestController {
public static void main(String[] args) {
    ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserController ct = (UserController)appCon.getBean("userController");
    ct.test();
}
}

在src下直接创建applicationContext.xml,代码:

<?xml version="1.0" encoding="UTF-8"?>

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd">
       package="com.dao"/>
       package="com.controller"/>
       
       class="org.apache.commons.dbcp2.BasicDataSource">
       
       
       
       
       
       
       
       
       
       class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
       
       
       
class="org.mybatis.spring.SqlSessionFactoryBean"> class="org.mybatis.spring.mapper.MapperScannerConfigurer">

相关