Felagund
EVITE USAR A PORCARIA DO STATEMENT
use PreparedStatement e use os metodos setString (no seu caso), para definir os parametros de uma pesquisada no google sobre o PreapredStatement.
LarissaNepomuceno
por exemplo, a sua query
select * from Teste like '%" + nome + "%';
vai ficar
String SELECT = "select * from Teste like ? "
onde o ? é o seu parametro.
Para usar, basta setar o ? com a variavel nome:
stmt = SuaConexao.prepareStatement(SELECT);
stmt.setString(1, nome);
ResultSet rs = stmt.executeQuery();

thiago.correa
Sou da teoria do colega, utilize a classe PreparedStatement ao invés do Statement, mas respondendo a pergunta tente o seguinte
String nome = "Mc\'Donalds";
select * from Teste like '%" + nome + "%'";
AbelBueno
thiago.correa:
Sou da teoria do colega, utilize a classe PreparedStatement ao invés do Statement, mas respondendo a pergunta tente o seguinte
String nome = "Mc\'Donalds";
select * from Teste like '%" + nome + "%'";
Thiago,
Não sei em quais bancos utilizar barras funciona, mas acredito que o padrão que seja dobrar as apas simples:
String nome = "Mc''Donalds";
"select * from Teste like '%" + nome + "%'";
De qualquer forma, melhor é sempre utilizar o prepared...
thiago.correa
AbelBueno,
como disse, eu concordo com o uso do PreparedStatement, quanto ao uso de , foi um palpite 
Helder8
Então pessoal,
Consegui resolver, para funcionar no banco de dados Oracle, deve fazer o seguinte:
String nome = "Mc'Donalds";
nome = nome.replace("'","Chr(34)");
String sql = "select * from Empresa like '%"+ nome + "%';
Dessa forma ao passar o select via ODBC, o banco de dados vai entender que o caracter quote , seja aspas simples.
Exemplo de caracteres com aspas simples e aspas dupla:
Chr(34) = ’
Chr(39) = "
Valeu Pessoal,
Abs.