public void testJDBC_pingjiefangshi() throws SQLException { // 字符串拼接方式 // select * from t_user where username = 'jack' // 有两个问题: 1.单引号需要手动加上 2.sql注入 String sql ="select * from t_user where username = 'jack'"; Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis","root","123456"); connection.prepareStatement(sql); }
public void testJDBC_zhanweifufuzhi() throws SQLException { String sql = "select * from t_user where username = ?"; Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis", "root", "123456"); PreparedStatement preparedStatement = root.prepareStatement(sql); preparedStatement.setString(1,"jack"); }
public interface UserMapper { void deleteUser(); void updateUser(); void insertUser(); List<User> selectUser(); void test(String username); }
void test(String username); 调用的时候传入
接受:随便什么名字都可以,是按形参的顺序进行接受的,但是为了键明实意,直接与形参名一样就行,不一样也不是不可以;
拼接:${}对应的就是jdbc原生两种方法中的拼接字符串方法,要注意凭借之后是不带单引号的,一定要在拼接之前加上;
<select id="test" resultType="User"> select * from t_user where username = '${username}' </select>
接受:同上,随便啥名字都行,按照形参顺序接受
拼接:#{}对应jdbc中的占位符赋值方法,没啥要注意的
<select id="test" resultType="User"> select * from t_user where username = #{username}; </select>