Interfaz Mybatis Mapper y función de instancia de ejemplo y correspondencia de sentencias SQL

Interfaz Mybatis Mapper y función de instancia de ejemplo y correspondencia de sentencias SQL

Primero, el análisis del método en la interfaz del mapeador

Funciones y métodos en la interfaz del mapeador

Método Descripción de la función
int countByExample (ejemplo de UserExample) thorws SQLException Cuenta por condición
int deleteByPrimaryKey (Id. entero) thorws SQLException Presione la tecla principal para eliminar
int deleteByExample (ejemplo de ejemplo de usuario) thorws SQLException Consulta por condición
Cadena / inserción entera (registro de usuario) thorws SQLException Insertar datos (el valor de retorno es ID)
Usuario selectByPrimaryKey (Id. Entero) thorws SQLException Presione la tecla primaria para consultar
ListselectByExample (ejemplo de ejemplo de usuario) thorws SQLException Consulta por condición
ListselectByExampleWithBLOGs (ejemplo de ejemplo de usuario) thorws SQLException Consulta por condición (incluido el campo BLOB). Solo se generará si el tipo de campo en la tabla de datos es binario.
int updateByPrimaryKey (registro de usuario) thorws SQLException Presione la tecla principal para actualizar
int updateByPrimaryKeySelective (registro de usuario) thorws SQLException Presione la tecla primaria para actualizar el campo cuyo valor no es nulo
int updateByExample (registro de usuario, ejemplo de ejemplo de usuario) Thorws SQLException Actualización condicional
int updateByExampleSelective (registro de usuario, ejemplo de ejemplo de usuario) Thorws SQLException Actualizar condicionalmente los campos cuyo valor no sea nulo

Dos, ejemplo de análisis de instancia

En ingeniería inversa de mybatis, se genera una instancia y un ejemplo correspondiente a la instancia. El ejemplo se utiliza para agregar condiciones, que es equivalente a la parte detrás de
xxxExample example = new xxxExample ();
Criterio criterios = new Example (). CreateCriteria ();

Método Explicación
ejemplo.setOrderByClause ("Nombre de campo ASC"); Agregar condición de orden ascendente, DESC es orden descendente
ejemplo.setDistinct (falso) Eliminar duplicados, tipo booleano, verdadero es seleccionar registros no duplicados.
criterios.yXxxIsNull Agregue la condición de que el campo xxx es nulo
criterios.yXxxIsNotNull Agregue la condición de que el campo xxx no es nulo
criterios.yXxxEqualTo (valor) Agregar campo xxx igual a la condición de valor
criterios.yXxxNotEqualTo (valor) Agregar campo xxx no es igual a la condición de valor
criterio.yXxxGreaterThan (valor) Agregar campo xxx mayor que la condición de valor
criterios.yXxxGreaterThanOrEqualTo (valor) Agregue un campo xxx mayor o igual a la condición de valor
criterio.yXxxLessThan (valor) Agregar un campo xxx con una condición inferior al valor
criterios.yXxxLessThanOrEqualTo (valor) Agregar campo xxx menor o igual a la condición de valor
criterios.yXxxIn (Lista <?>) Agregar valor de campo xxx en la Lista <? > Condiciones
criterios.yXxxNotIn (Lista <?>) Agregar valor de campo xxx no en la Lista <? > Condiciones
criterios.yXxxLike ("%" + valor + "%") 添加xxx字段值为value的模糊查询条件
criteria.andXxxNotLike(“%”+value+”%”) 添加xxx字段值不为value的模糊查询条件
criteria.andXxxBetween(value1,value2) 添加xxx字段值在value1和value2之间条件
criteria.andXxxNotBetween(value1,value2) 添加xxx字段值不在value1和value2之间条件

三、应用举例

1.查询

① selectByPrimaryKey()

User user = XxxMapper.selectByPrimaryKey(100); //相当于select * from user where id = 1001

② selectByExample() 和 selectByExampleWithBLOGs()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
criteria.andUsernameIsNull();
example.setOrderByClause("username asc,email desc");
List<?>list = XxxMapper.selectByExample(example);
//相当于:select * from user where username = 'wyw' and  username is null order by username asc,email desc1234567

注:在iBator逆向工程生成的文件XxxExample.java中包含一个static的内部类Criteria,Criteria中的方法是定义SQL 语句where后的查询条件。

2.插入数据

①insert()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("admin");
user.setPassword("admin")
user.setEmail("[email protected]");
XxxMapper.insert(user);
//相当于:insert into user(ID,username,password,email) values ('dsfgsdfgdsfgds','admin','admin','[email protected]');1234567

3.更新数据

①updateByPrimaryKey()

User user =new User();
user.setId("dsfgsdfgdsfgds");
user.setUsername("wyw");
user.setPassword("wyw");
user.setEmail("[email protected]");
XxxMapper.updateByPrimaryKey(user);
//相当于:update user set username='wyw', password='wyw', email='[email protected]' where id='dsfgsdfgdsfgds'1234567

②updateByPrimaryKeySelective()

User user = new User();
user.setId("dsfgsdfgdsfgds");
user.setPassword("wyw");
XxxMapper.updateByPrimaryKey(user);
//相当于:update user set password='wyw' where id='dsfgsdfgdsfgds'12345

③ updateByExample() 和 updateByExampleSelective()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
User user = new User();
user.setPassword("wyw");
XxxMapper.updateByPrimaryKeySelective(user,example);
//相当于:update user set password='wyw' where username='admin'1234567

updateByExample()更新所有的字段,包括字段为null的也更新,建议使用 updateByExampleSelective()更新想更新的字段

4.删除数据

①deleteByPrimaryKey()

XxxMapper.deleteByPrimaryKey(1);  //相当于:delete from user where id=11

②deleteByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("admin");
XxxMapper.deleteByExample(example);
//相当于:delete from user where username='admin'12345

5.查询数据数量

①countByExample()

UserExample example = new UserExample();
Criteria criteria = example.createCriteria();
criteria.andUsernameEqualTo("wyw");
int count = XxxMapper.countByExample(example);
//相当于:select count(*) from user where username='wyw'
发布了74 篇原创文章 · 获赞 66 · 访问量 16万+

Supongo que te gusta

Origin blog.csdn.net/miaodichiyou/article/details/105556158
Recomendado
Clasificación