sql语句的问题 ,以及怎么使用到 sql语句的前因后果

来源:3-8 登陆

LLLL_

2020-01-11 13:39:06

这个接口被谁实现了  ,  或者说  我在登陆的时候 ,怎么就 到这个接口 ,为什么就用了@Select("select * from user where account=#{name}") 这句话?

@Results(value={
       @Result(id = true,column = "id",property = "id"),
       @Result(column = "account",property = "name"),
       @Result(column = "password",property = "password"),
       @Result(column = "nick_name",property = "nickName")}
) 他们为什么要这么写呢  ?

查询到了后 他又是怎么往下一步进行的呢?


比如现在写注册功能,

@Select( "insert into account values(#{id},#{name},#{apssword}),我也是写在 同一个Dao里吗,具体大概是怎么写? 然后在之前登陆是在 AccountBizImpl 验证 ,那注册也不需要验证 ,是执行完插入语句,就算结束了吗?

http://img.mukewang.com/climg/5e195dbe09214b2712790633.jpg

写回答

1回答

好帮手慕阿莹

2020-01-11

1、首先,这个在接口上写了以上的注解后,mybatis底层就会自动帮这个接口自动生成一个实现类。

2、

@Select("select * from user where account=#{name}") 这是mybatis的注解形式,

@Results(value={   
       @Result(id = true,column = "id",property = "id"),
       @Result(column = "account",property = "name"),
       @Result(column = "password",property = "password"),
       @Result(column = "nick_name",property = "nickName")}
)

这个查询结果可以按照接口返回值的类型进行封装,一些不同对应的字段,可以通过Results进行映射到接口的返回值中。

当调用这个接口时,则会执行上边的sql语句,进行查询,并把数据进行封装后,返回给调用者。

3、只有查询语句才会用@Select,插入的时候或会用到@insert注解:例如:

http://img.mukewang.com/climg/5e197781090ee7da13740353.jpg

可以写到同一个AccountDao中的。

@Insert( "insert into account values(#{id},#{name},#{apssword}) ;

void insert(Account account);

执行完插入语句,把注册的写到数据库中,就算注册成功了

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 8016 问题

查看课程